diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index b687b88e48..bd65361928 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API endpoint nebyl nalezen"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Podrobnosti o chybě lze nalézt v panelu administrace"
@@ -34,7 +34,7 @@ msgstr "Zadejte datum"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Zadejte datum"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Poznámky"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Zadejte heslo"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Zadejte nové heslo"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Potvrďte heslo"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Potvrďte nové heslo"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Původní heslo"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (znovu)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Potvrzení emailové adresy"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Pokaždé musíte zadat stejný email."
@@ -231,11 +231,11 @@ msgstr "Komentář k souboru"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Uživatel"
@@ -274,7 +274,7 @@ msgstr "Neplatný výběr"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Neplatný výběr"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Název"
@@ -295,7 +295,7 @@ msgstr "Název"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Název"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Popis"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "nadřazený"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Cesta"
@@ -357,7 +358,7 @@ msgstr "Chyba serveru"
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Čeština"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Němčina"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Řečtina"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Angličtina"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Španělština"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Španělština (Mexiko)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Perština"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francouzština"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebrejština"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Maďarština"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italština"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japonština"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Korejština"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Nizozemština"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norština"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polština"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugalština"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugalština (Brazilská)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Ruština"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Švédština"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thajština"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turečtina"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamština"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Čínština"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Nevyřízeno"
@@ -655,7 +656,7 @@ msgstr "Rozdělit od nadřazené položky"
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Díl"
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Potvrdit"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po
index df8184e462..c03a7fdafb 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
"Language: da_DK\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API endpoint ikke fundet"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Fejloplysninger kan findes i admin panelet"
@@ -34,7 +34,7 @@ msgstr "Angiv dato"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Angiv dato"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Bemærkninger"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Indtast adgangskode"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Indtast ny adgangskode"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Bekræft adgangskode"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Bekræft ny adgangskode"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Gammel adgangskode"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-mail (igen)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Bekræftelse af e-mailadresse"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Du skal indtaste den samme e-mail hver gang."
@@ -231,11 +231,11 @@ msgstr "Fil kommentar"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Bruger"
@@ -274,7 +274,7 @@ msgstr "Ugyldigt valg"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Ugyldigt valg"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Navn"
@@ -295,7 +295,7 @@ msgstr "Navn"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Navn"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Beskrivelse"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "overordnet"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Sti"
@@ -357,7 +358,7 @@ msgstr "Serverfejl"
msgid "An error has been logged by the server."
msgstr "En fejl blev logget af serveren."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
@@ -424,107 +425,107 @@ msgstr "URL til ekstern billedfil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Download af billeder fra ekstern URL er ikke aktiveret"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tjekkisk"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Græsk"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spansk (Mexikansk)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Hollandsk"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilien)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Kinesisk"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Afventende"
@@ -655,7 +656,7 @@ msgstr "Opdel fra overordnet element"
msgid "Split child item"
msgstr "Opdel underordnet element"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Flettede lagervarer"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Produktionsordre reference"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr ""
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index d61adab9da..908f64f181 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API-Endpunkt nicht gefunden"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Fehlerdetails finden Sie im Admin-Panel"
@@ -34,7 +34,7 @@ msgstr "Datum eingeben"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Datum eingeben"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Notizen"
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Passwort eingeben"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Neues Passwort eingeben"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Passwort wiederholen"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Neues Passwort bestätigen"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Altes Passwort"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-Mail (nochmal)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Bestätigung der E-Mail Adresse"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "E-Mail Adressen müssen übereinstimmen."
@@ -231,11 +231,11 @@ msgstr "Datei-Kommentar"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Benutzer"
@@ -274,7 +274,7 @@ msgstr "Ungültige Auswahl"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Ungültige Auswahl"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Name"
@@ -295,7 +295,7 @@ msgstr "Name"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Name"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Beschreibung"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "Eltern"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Pfad"
@@ -357,7 +358,7 @@ msgstr "Serverfehler"
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
@@ -424,107 +425,107 @@ msgstr "URL der Remote-Bilddatei"
msgid "Downloading images from remote URL is not enabled"
msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tschechisch"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Dänisch"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Griechisch"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spanisch"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spanisch (Mexikanisch)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Persisch"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebräisch"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Ungarisch"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italienisch"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japanisch"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreanisch"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Niederländisch"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norwegisch"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugiesisch"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugiesisch (Brasilien)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Schwedisch"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thailändisch"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamesisch"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Chinesisch"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Ausstehend"
@@ -655,7 +656,7 @@ msgstr "Vom übergeordneten Element geteilt"
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Lagerartikel zusammengeführt"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Teil"
@@ -972,42 +973,42 @@ msgstr "Endprodukt bereits hergstellt"
msgid "Build output does not match Build Order"
msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-#: build/models.py:1265
+#: build/models.py:1268
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:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Bauauftrag"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Bauauftrag starten um Teile zuzuweisen"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Lagerartikel"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Quell-Lagerartikel"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Quell-Lagerartikel"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Anzahl"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Installiere in"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
@@ -1156,8 +1157,8 @@ msgstr "Eine Liste von Endprodukten muss angegeben werden"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Lagerort"
@@ -1171,8 +1172,8 @@ msgstr "Lagerort für fertige Endprodukte"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Status"
@@ -1248,8 +1249,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Stücklisten-Position"
@@ -1428,16 +1429,16 @@ msgstr "Bauauftrag war fällig am %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Überfällig"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Fertig"
@@ -1493,8 +1494,8 @@ msgstr "Zugewiesene Teile"
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Kategorie-Parametervorlage kopieren"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Vorlage"
@@ -1950,7 +1951,7 @@ msgstr "Teile sind standardmäßig Vorlagen"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Baugruppe"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Komponente"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Verkäuflich"
@@ -1987,7 +1988,7 @@ msgstr "Artikel sind grundsätzlich verkaufbar"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Nachverfolgbar"
@@ -1998,7 +1999,7 @@ msgstr "Artikel sind grundsätzlich verfolgbar"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtuell"
@@ -2804,8 +2805,8 @@ msgstr "Name für diesen Webhook"
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Aktiv"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Teil auswählen"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Hersteller"
@@ -3123,7 +3124,7 @@ msgstr "Parametername"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Wert"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "Parameterwert"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Zulieferer"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr "Mindestpreis"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Verpackungen"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Kunde"
@@ -3561,7 +3562,7 @@ msgstr "Zugewiesene Lagerartikel"
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -3688,7 +3689,7 @@ msgstr "Teilverfügbarkeit aktualisieren"
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Bestand"
@@ -3715,7 +3716,7 @@ msgstr "Bepreisung"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Lagerartikel"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Bestellung"
@@ -3997,7 +3998,7 @@ msgstr "Zuliefererteil"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr "Empfangen"
@@ -4007,7 +4008,7 @@ msgstr "Empfangene Objekt-Anzahl"
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Preis"
@@ -4598,12 +4599,12 @@ 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:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Teil-ID"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr "Name des Teils"
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
@@ -4678,11 +4679,11 @@ msgstr "Zugeordnet"
msgid "Building"
msgstr "Im Bau"
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr "Teil-ID"
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr "Eingehende Bestellung"
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr "Ausgehender Auftrag"
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr "Lagerartikel produziert von Bauauftrag"
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr "Lagerartikel für Bauauftrag benötigt"
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr "Gültig"
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr "Gesamte Stückliste validieren"
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr "Diese Option muss ausgewählt werden"
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr "Muss größer als 0 sein"
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr "Muss eine gültige Nummer sein"
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr "Standort für anfänglichen Bestand angeben"
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
@@ -4832,7 +4833,7 @@ msgstr "Symbol (optional)"
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Name des Teils"
@@ -4896,7 +4897,7 @@ msgstr "Beschreibung des Teils"
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:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr "Letzte Inventur"
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr "Datum"
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
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:3108
+#: part/models.py:3111
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:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:3147
+#: part/models.py:3150
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:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:3153
+#: part/models.py:3156
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:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr "Wert"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr "Stufe"
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
msgid "Optional"
msgstr "Optional"
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:3466
+#: part/models.py:3469
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:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:3472
+#: part/models.py:3475
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:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr "Inventur"
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr "Test"
@@ -6586,7 +6586,7 @@ msgstr "Verbaute Objekte"
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr "Seriennummer"
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr "Ablaufdatum"
@@ -7058,7 +7058,7 @@ msgstr "Testdaten hinzufügen"
msgid "Installed Stock Items"
msgstr "Installierte Lagerartikel"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr "Lagerartikel installieren"
@@ -7066,7 +7066,7 @@ msgstr "Lagerartikel installieren"
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
@@ -7225,7 +7225,7 @@ 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:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr "abgelaufen"
@@ -7235,7 +7235,7 @@ 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:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr "überfällig"
@@ -7572,10 +7572,19 @@ msgstr "Labeleinstellungen"
msgid "Login Settings"
msgstr "Anmeldeeinstellungen"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Anmelden"
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Bestätigen"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Dieser E-Mail Bestätigungslink ist abgelaufen oder ungültig. Bitte fordern Sie eine neue E-Mail Bestätigung an."
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr "Einloggen"
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
-msgstr "Bitte melden Sie sich mit einem Ihrer bestehenden Drittkonten an oder registrieren Sie sich für ein Konto und melden Sie sich unten an:"
+msgid "Not a member?"
+msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
-msgstr "Wenn Sie noch kein Konto erstellt haben, dann bitteregistrieren Sie sich zuerst."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
+msgstr "Anmelden"
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr "Passwort vergessen?"
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr "Passwort ändern"
msgid "Your password is now changed."
msgstr "Ihr Passwort wurde geändert."
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr "Anmelden"
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr "Haben Sie bereits ein Konto? Dann melden Sie sich bitte As a final step, please complete the following form:"
+msgstr ""
+
#: templates/stats.html:9
msgid "Server"
msgstr "Server"
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 566e11cd38..6919a393b8 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "Το API endpoint δε βρέθηκε"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης"
@@ -34,7 +34,7 @@ msgstr "Εισάγετε ημερομηνία"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Εισάγετε ημερομηνία"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Σημειώσεις"
@@ -58,35 +58,35 @@ msgstr "Η τιμή '{name}' δεν εμφανίζεται σε μορφή μο
msgid "Provided value does not match required pattern: "
msgstr "Η παρεχόμενη τιμή δεν ταιριάζει με το απαιτούμενο απαραραίητη μοτίβο: "
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Εισάγετε κωδικό"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Εισάγετε νέο κωδικό πρόσβασης"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Επιβεβαιώστε τον κωδικό πρόσβασης"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Επιβεβαιώστε τον νέο κωδικό πρόσβασης"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Παλιός κωδικός πρόσβασης"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-mail (ξανά)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Επιβεβαίωση διεύθυνσης email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Πρέπει να πληκτρολογήσετε το ίδιο email κάθε φορά."
@@ -231,11 +231,11 @@ msgstr "Σχόλιο αρχείου"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Χρήστης"
@@ -274,7 +274,7 @@ msgstr "Μη έγκυρη επιλογή"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Μη έγκυρη επιλογή"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Όνομα"
@@ -295,7 +295,7 @@ msgstr "Όνομα"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Όνομα"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Περιγραφή"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "γονέας"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Μονοπάτι"
@@ -357,7 +358,7 @@ msgstr "Σφάλμα διακομιστή"
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
@@ -424,107 +425,107 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Τσέχικα"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Γερμανικά"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Ελληνικά"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Αγγλικά"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Ισπανικά"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Ισπανικά (Μεξικό)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Φαρσί / Περσικά"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Γαλλικά"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Εβραϊκά"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Ούγγρικα"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Ιταλικά"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Ιαπωνικά"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Κορεάτικα"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Dutch"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Νορβηγικά"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Πολωνικά"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Πορτογαλικά"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Πορτογαλικά (Βραζιλίας)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Ρωσικά"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Σουηδικά"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Ταϊλανδέζικα"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Τούρκικα"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Βιετναμέζικα"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Κινέζικα"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Σε εκκρεμότητα"
@@ -655,7 +656,7 @@ msgstr "Έγινε διαχωρισμός από το γονεϊκό αρχεί
msgid "Split child item"
msgstr "Διαχωρίστηκε θυγατρικό στοιχείο"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Έγινε συγχώνευση αποθεμάτων"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Αναφορά Παραγγελίας Κατασκευής"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Εξάρτημα"
@@ -972,42 +973,42 @@ msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθ
msgid "Build output does not match Build Order"
msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})"
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Το επιλεγμένο αντικείμενο αποθέματος δεν βρέθηκε στο BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Κατασκευή"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Κατασκευή για εκχώρηση τμημάτων"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Κατασκευή για εκχώρηση τμημάτων"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Στοιχείο Αποθέματος"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Στοιχείο πηγαίου αποθέματος"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Ποσότητα"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Εγκατάσταση σε"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Αποθήκη προορισμού"
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr ""
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index bd7bcb6689..2c7c30d7e7 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-01-01 11:05+0000\n"
+"POT-Creation-Date: 2023-01-03 01:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -46,7 +46,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -236,7 +236,7 @@ msgstr ""
#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr ""
@@ -286,7 +286,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr ""
@@ -312,8 +312,9 @@ msgstr ""
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr ""
@@ -326,7 +327,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -656,7 +657,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -829,9 +830,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -1019,7 +1020,7 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
@@ -1064,7 +1065,7 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
@@ -1157,8 +1158,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1172,8 +1173,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1494,8 +1495,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -3124,7 +3125,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3207,7 +3208,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3324,7 +3325,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
+#: templates/js/translated/stock.js:2610
#: templates/js/translated/table_filters.js:447
msgid "Customer"
msgstr ""
@@ -3562,7 +3563,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3689,7 +3690,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3716,7 +3717,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3826,8 +3827,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -4008,7 +4009,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4614,7 +4615,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -5153,7 +5154,7 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:38
#: templates/js/translated/order.js:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
@@ -5178,7 +5179,6 @@ msgid "Test with this name already exists for this part"
msgstr ""
#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
msgid "Test Name"
msgstr ""
@@ -5666,7 +5666,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6057,7 +6057,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6562,7 +6562,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6587,7 +6587,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6644,7 +6644,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7059,7 +7059,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7067,7 +7067,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -9108,8 +9108,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9121,7 +9121,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9710,7 +9710,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9911,7 +9911,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10217,7 +10217,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10241,7 +10241,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10262,7 +10262,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10642,180 +10642,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 4c495efd79..509f90e14b 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
"Language: es_MX\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "endpoint API no encontrado"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Detalles del error pueden encontrarse en el panel de administración"
@@ -34,7 +34,7 @@ msgstr "Ingrese la fecha"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Ingrese la fecha"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Notas"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Introduzca contraseña"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Ingrese su nueva contraseña"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Confirmar la contraseña"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Confirmar contraseña nueva"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Contraseña vieja"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (de nuevo)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Confirmación de dirección de email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Debe escribir el mismo correo electrónico cada vez."
@@ -231,11 +231,11 @@ msgstr "Comentario del archivo"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Usuario"
@@ -274,7 +274,7 @@ msgstr "Selección no válida"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Selección no válida"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Nombre"
@@ -295,7 +295,7 @@ msgstr "Nombre"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Nombre"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Descripción"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "padre"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Ruta"
@@ -357,7 +358,7 @@ msgstr "Error de Servidor"
msgid "An error has been logged by the server."
msgstr "Se ha registrado un error por el servidor."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Debe ser un numero valido"
@@ -424,107 +425,107 @@ msgstr "URL de imagen remota"
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:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Checo"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Danés"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Griego"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Español"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Español (México)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Persa"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebreo"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japonés"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Holandés"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Noruego"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugués"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugués (Brasileño)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Ruso"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Sueco"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Tailandés"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Chino"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Pendiente"
@@ -655,7 +656,7 @@ msgstr "Separar del elemento principal"
msgid "Split child item"
msgstr "Dividir elemento secundario"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Artículos de stock combinados"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Número de orden de construcción o armado"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Orden de Construcción o Armado a la que se asigna"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Orden de Construcción o Armado a la que se asigna"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Parte"
@@ -972,42 +973,42 @@ msgstr "La construcción de la salida ya está completa"
msgid "Build output does not match Build Order"
msgstr "La salida de la construcción no coincide con el orden de construcción"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item de construcción o armado debe especificar un resultado o salida, ya que la parte maestra está marcada como rastreable"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})"
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Artículo de stock sobreasignado"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Cantidad asignada debe ser mayor que cero"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "La cantidad debe ser 1 para el stock serializado"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Artículo de stock seleccionado no encontrado en BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Construcción o Armado"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Armar para asignar partes"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Armar para asignar partes"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Artículo de stock"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Producto original de stock"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Producto original de stock"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Cantidad"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Cantidad de stock a asignar para construir"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Instalar en"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Artículo de stock de destino"
@@ -1156,8 +1157,8 @@ msgstr "Debe proporcionarse una lista de salidas de construcción"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Unicación"
@@ -1171,8 +1172,8 @@ msgstr "Ubicación para las salidas de construcción completadas"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Estado"
@@ -1248,8 +1249,8 @@ msgstr "La cantidad de construcción requerida aún no se ha completado"
msgid "Build order has incomplete outputs"
msgstr "El orden de construcción tiene salidas incompletas"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Item de Lista de Materiales"
@@ -1428,16 +1429,16 @@ msgstr "Esta construcción vence el %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Vencido"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Completados"
@@ -1493,8 +1494,8 @@ msgstr "Partes asignadas"
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Copiar plantillas de parámetros de categoría"
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar plantillas de parámetros de categoría al crear una parte"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Plantilla"
@@ -1950,7 +1951,7 @@ msgstr "Las piezas son plantillas por defecto"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Montaje"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr "Las piezas pueden ser ensambladas desde otros componentes por defecto"
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Componente"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Las piezas son comprables por defecto"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Vendible"
@@ -1987,7 +1988,7 @@ msgstr "Las piezas se pueden vender por defecto"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Rastreable"
@@ -1998,7 +1999,7 @@ msgstr "Las piezas son rastreables por defecto"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtual"
@@ -2804,8 +2805,8 @@ msgstr "Nombre para este webhook"
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Activo"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "¿Esta empresa fabrica piezas?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Seleccionar pieza"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Fabricante"
@@ -3123,7 +3124,7 @@ msgstr "Nombre del parámetro"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Valor"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "Valor del parámetro"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr "La parte vinculada del fabricante debe hacer referencia a la misma pieza
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Proveedor"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr "Descripción de la parte del proveedor"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Paquetes"
@@ -3323,8 +3324,8 @@ msgstr "Borrar imagen"
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Cliente"
@@ -3561,7 +3562,7 @@ msgstr "Elementos de Stock Asignados"
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Ítems de Proveedor"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Inventario"
@@ -3715,7 +3716,7 @@ msgstr "Precios"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Elementos de stock"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Orden de compra"
@@ -3997,7 +3998,7 @@ msgstr "Ítems de Proveedor"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr "Recibido"
@@ -4007,7 +4008,7 @@ msgstr "Número de artículos recibidos"
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Precio de Compra"
@@ -4598,12 +4599,12 @@ 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:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "ID de Parte"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr "Asignadas"
msgid "Building"
msgstr "En construcción"
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr "Válido"
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr "Validación de Lista de Materiales"
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr "Esta opción debe ser seleccionada"
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr "Debe ser mayor que 0"
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr "Debe ser una cantidad válida"
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr "Especificar ubicación para el stock inicial de piezas"
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr "Este campo es obligatorio"
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoría de parte"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Nombre de la pieza"
@@ -4896,7 +4897,7 @@ msgstr "Descripción de la pieza"
msgid "Part keywords to improve visibility in search results"
msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqueda"
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr "Último inventario"
msgid "Sell multiple"
msgstr "Vender múltiples"
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr "Fecha"
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr "Las plantillas de prueba sólo pueden ser creadas para partes rastreables"
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr "Ya existe una prueba con este nombre para esta parte"
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr "Nombre de prueba"
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr "Introduzca un nombre para la prueba"
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr "Descripción de prueba"
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr "Introduce la descripción para esta prueba"
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr "¿Es necesario pasar esta prueba?"
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr "Requiere valor"
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr "¿Esta prueba requiere un valor al agregar un resultado de la prueba?"
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr "Adjunto obligatorio"
-#: part/models.py:3153
+#: part/models.py:3156
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:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr "El nombre de parámetro en la plantilla tiene que ser único"
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr "Nombre de Parámetro"
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr "Unidad del Parámetro"
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr "Parte principal"
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "Plantilla de parámetro"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr "Valor del parámetro"
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr "Valor predeterminado"
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr "Valor de parámetro por defecto"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr "Seleccionar parte principal"
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr "Sub parte"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr "Seleccionar parte a utilizar en BOM"
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr "Cantidad del artículo en BOM"
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr "Cantidad del artículo en BOM"
msgid "Optional"
msgstr "Opcional"
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr "Este elemento BOM es opcional"
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Exceso"
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)"
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr "Referencia de artículo de BOM"
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr "Notas del artículo de BOM"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr "Suma de comprobación de la línea en BOM"
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Heredado"
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este artículo BOM es heredado por BOMs para partes variantes"
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Artículos de stock para partes variantes pueden ser usados para este artículo BOM"
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr "La cantidad debe ser un valor entero para las partes rastreables"
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr "Debe especificar la subparte"
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr "Ítem de BOM sustituto"
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sustituta no puede ser la misma que la parte principal"
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr "Artículo BOM superior"
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr "Sustituir parte"
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr "Seleccionar parte relacionada"
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr "Inventario"
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr "Última actualización"
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr "Resultados de la Prueba"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr "Prueba"
@@ -6586,7 +6586,7 @@ msgstr "Elementos instalados"
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr "Fecha de Expiración"
@@ -7058,7 +7058,7 @@ msgstr "Añadir Datos de Prueba"
msgid "Installed Stock Items"
msgstr "Elementos de Stock instalados"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr "Instalar elemento de stock"
@@ -7066,7 +7066,7 @@ msgstr "Instalar elemento de stock"
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr "Añadir Resultado de Prueba"
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr "Este ítem expiró el %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr "Expirado"
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr "Este ítem expira el %(item.expiry_date)s"
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr "Desactualizado"
@@ -7572,10 +7572,19 @@ msgstr "Ajustes de Etiqueta"
msgid "Login Settings"
msgstr "Configuración de Inicio de Sesión"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Registrarse"
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,33 +8225,27 @@ msgstr "Confirmar"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Este enlace de confirmación de correo electrónico ha caducado o no es válido. Por favor, envíe un nuevo correo electrónico de solicitud de confirmación."
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr "Ingresar"
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
-msgstr "Por favor, inicia sesión con una\n"
-"de tus cuentas de terceros existentes o regístrate\n"
-" e inicia sesión a continuación:"
+msgid "Not a member?"
+msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
-msgstr "Si aún no has creado una cuenta, por favor\n"
-"regístrate primero."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
+msgstr "Registrarse"
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr "¿Ha olvidado la contraseña?"
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8293,10 +8296,6 @@ msgstr "Cambiar contraseña"
msgid "Your password is now changed."
msgstr "Se ha cambiado la contraseña."
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr "Registrarse"
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8306,6 +8305,21 @@ msgstr "¿Ya tienes una cuenta? Entonces inicia sesió
msgid "Or use a SSO-provider for signup"
msgstr "O utilice un proveedor de SSO para registrarse"
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr "Ver en el panel de administración"
@@ -9108,8 +9122,8 @@ msgid "No builds matching query"
msgstr "No hay trabajos que coincidan con la consulta"
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr "Seleccionar"
@@ -9121,7 +9135,7 @@ msgstr "Orden de trabajo atrasada"
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr "No hay información de usuario"
@@ -9268,36 +9282,36 @@ msgid "Delete price break"
msgstr "Eliminar precio de descuento"
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr "verdadero"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr "falso"
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr "Seleccionar filtro"
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr "Recargar datos"
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr "Añadir un nuevo filtro"
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr "Limpiar todos los filtros"
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr "Crear filtro"
@@ -9710,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr "Cantidad a recibir"
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr "Estado del Stock"
@@ -9911,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr "Eliminar Adjudicación de Stock"
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr "Enviado al cliente"
@@ -10136,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr "Copiar Factura de Materiales"
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr "Stock bajo"
@@ -10217,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr "Mostrar como lista"
@@ -10241,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr "Mostrar como árbol"
@@ -10262,7 +10276,7 @@ msgid "Edit test result"
msgstr "Editar resultado de prueba"
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr "Eliminar resultado de prueba"
@@ -10642,180 +10656,180 @@ msgstr "Añadir resultado de prueba"
msgid "No test results found"
msgstr "No se encontraron resultados de prueba"
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr "Fecha de Prueba"
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr "Editar Resultados de Prueba"
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr "Borrar Resultado de Prueba"
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr "En producción"
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr "Instalado en el artículo de stock"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr "Asignado a la Orden de Venta"
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "Ninguna ubicación de stock establecida"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr "El artículo de stock está en producción"
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr "Artículo de stock asignado al pedido de venta"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr "Artículo de stock asignado al cliente"
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr "Se ha asignado un artículo de stock serializado"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr "Artículo de stock ha sido completamente asignado"
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr "Artículo de stock ha sido asignado parcialmente"
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr "Artículo de stock ha sido instalado en otro artículo"
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr "Artículo de stock ha caducado"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr "El artículo de stock caducará pronto"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr "Artículo de stock ha sido rechazado"
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr "Artículo de stock perdido"
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr "Artículo de stock destruido"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr "Agotado"
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr "Parte del proveedor no especificada"
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr "No hay artículos de stock que coincidan con la consulta"
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr "Establecer estado de stock"
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr "Seleccionar Código de Estado"
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr "Debe seleccionar el código de estado"
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr "Detalles"
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr "Ubicación ya no existe"
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr "La orden de compra ya no existe"
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr "El cliente ya no existe"
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr "Artículo de stock ya no existe"
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr "Añadido"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr "Eliminado"
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr "Ningún elemento instalado"
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr "Desinstalar elemento de stock"
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Los artículos de stock sólo pueden ser instalados si cumplen con los siguientes criterios"
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10840,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr "Permitir stock de variante"
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10855,12 +10869,12 @@ msgstr "Incluir ubicaciones"
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr "Incluir subcategorías"
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr "Suscrito"
@@ -10902,7 +10916,7 @@ msgid "Batch code"
msgstr "Código de lote"
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr "Partes activas"
@@ -10991,72 +11005,80 @@ msgstr "Tiene precio de compra"
msgid "Show stock items which have a purchase price set"
msgstr "Mostrar artículos de stock que tienen un precio de compra establecido"
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr "Mostrar artículos de stock que han caducado"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr "Mostrar stock que está cerca de caducar"
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr "Estado de la construcción"
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr "Asignado a mí"
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr "Estado del pedido"
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr "Pendiente"
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr "Incluye partes en subcategorías"
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr "Mostrar partes activas"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr "Tiene IPN"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr "La parte tiene número de pieza interno"
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr "Comprable"
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11202,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr "Servidor"
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index bd7bcb6689..2c7c30d7e7 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-01-01 11:05+0000\n"
+"POT-Creation-Date: 2023-01-03 01:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -46,7 +46,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -236,7 +236,7 @@ msgstr ""
#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr ""
@@ -286,7 +286,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr ""
@@ -312,8 +312,9 @@ msgstr ""
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr ""
@@ -326,7 +327,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -656,7 +657,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -829,9 +830,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -1019,7 +1020,7 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
@@ -1064,7 +1065,7 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
@@ -1157,8 +1158,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1172,8 +1173,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1494,8 +1495,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -3124,7 +3125,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3207,7 +3208,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3324,7 +3325,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
+#: templates/js/translated/stock.js:2610
#: templates/js/translated/table_filters.js:447
msgid "Customer"
msgstr ""
@@ -3562,7 +3563,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3689,7 +3690,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3716,7 +3717,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3826,8 +3827,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -4008,7 +4009,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4614,7 +4615,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -5153,7 +5154,7 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:38
#: templates/js/translated/order.js:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
@@ -5178,7 +5179,6 @@ msgid "Test with this name already exists for this part"
msgstr ""
#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
msgid "Test Name"
msgstr ""
@@ -5666,7 +5666,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6057,7 +6057,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6562,7 +6562,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6587,7 +6587,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6644,7 +6644,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7059,7 +7059,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7067,7 +7067,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -9108,8 +9108,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9121,7 +9121,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9710,7 +9710,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9911,7 +9911,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10217,7 +10217,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10241,7 +10241,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10262,7 +10262,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10642,180 +10642,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index 636f0a537d..130831a802 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "Address e API peida nashod"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr ""
@@ -231,11 +231,11 @@ msgstr ""
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr ""
@@ -274,7 +274,7 @@ msgstr ""
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr ""
@@ -295,7 +295,7 @@ msgstr ""
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr ""
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr ""
@@ -325,7 +326,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr ""
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr ""
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr ""
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr ""
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr ""
@@ -655,7 +656,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "تایید"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index b0a7cdc2a1..1106239b75 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "Point de terminaison de l'API introuvable"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Les détails de l'erreur peuvent être trouvées dans le panneau d'administration"
@@ -34,7 +34,7 @@ msgstr "Entrer la date"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Entrer la date"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Notes"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Entrer le mot de passe"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Entrer le nouveau mot de passe"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Confirmez le mot de passe"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Confirmer le nouveau mot de passe"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Ancien mot de passe"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (encore)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Confirmation de l'adresse email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Vous devez taper le même e-mail à chaque fois."
@@ -231,11 +231,11 @@ msgstr "Commentaire du fichier"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Utilisateur"
@@ -274,7 +274,7 @@ msgstr "Choix invalide"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Choix invalide"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Nom"
@@ -295,7 +295,7 @@ msgstr "Nom"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Nom"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Description"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Chemin d'accès"
@@ -357,7 +358,7 @@ msgstr "Erreur serveur"
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
@@ -424,107 +425,107 @@ msgstr "URL du fichier image distant"
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:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tchèque"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Danois"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Grec"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Espagnol"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Espagnol (Mexique)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Perse"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hébreu"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Hongrois"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italien"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japonais"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Coréen"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Néerlandais"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norvégien"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugais"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugais (Brésilien)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Russe"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Suédois"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thaïlandais"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamien"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Chinois"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "En attente"
@@ -655,7 +656,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:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Articles de stock fusionnés"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "BuildOrder associé a cette fabrication"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Pièce"
@@ -972,42 +973,42 @@ msgstr "L'ordre de production a déjà été réalisé"
msgid "Build output does not match Build Order"
msgstr "L'ordre de production de correspond pas à l'ordre de commande"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "L'article de stock est suralloué"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "La quantité allouée doit être supérieure à zéro"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "La quantité doit être de 1 pour stock sérialisé"
-#: build/models.py:1265
+#: build/models.py:1268
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:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Assemblage"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Construction à laquelle allouer des pièces"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Construction à laquelle allouer des pièces"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Article en stock"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Stock d'origine de l'article"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Stock d'origine de l'article"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Quantité"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Quantité de stock à allouer à la construction"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Installer dans"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Stock de destination de l'article"
@@ -1156,8 +1157,8 @@ msgstr "Une liste d'ordre de production doit être fourni"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Emplacement"
@@ -1171,8 +1172,8 @@ msgstr "Emplacement des ordres de production achevés"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "État"
@@ -1248,8 +1249,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée"
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Article du BOM"
@@ -1428,16 +1429,16 @@ msgstr "Cette construction était due le %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "En retard"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Terminé"
@@ -1493,8 +1494,8 @@ msgstr "Pièces allouées"
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Copier les templates de paramètres de catégorie"
msgid "Copy category parameter templates when creating a part"
msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Modèle"
@@ -1950,7 +1951,7 @@ msgstr "Les pièces sont des templates par défaut"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Assemblage"
@@ -1959,7 +1960,7 @@ 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:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Composant"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Vendable"
@@ -1987,7 +1988,7 @@ msgstr "Les pièces sont vendables par défaut"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Traçable"
@@ -1998,7 +1999,7 @@ msgstr "Les pièces sont traçables par défaut"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtuelle"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Actif"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Fabricant"
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Valeur"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Fournisseur"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr "Frais minimums (par exemple frais de stock)"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Conditionnement"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Client"
@@ -3561,7 +3562,7 @@ msgstr "Articles en stock assignés"
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Pièce fournisseur"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr "Tarif"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Éléments en stock"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Commande d’achat"
@@ -3997,7 +3998,7 @@ msgstr "Pièce fournisseur"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr "Reçu"
@@ -4007,7 +4008,7 @@ msgstr "Nombre d'éléments reçus"
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Prix d'achat"
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "ID de composant"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Catégorie de composant"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr "Description du composant"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr "Requis"
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr "Données"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr "Prise d'inventaire"
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Confirmer"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr "Livré au client"
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr "Stock bas"
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr "Afficher sous forme de liste"
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr "Afficher sous forme d'arborescence"
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr "Modifier le résultat du test"
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr "Supprimer le résultat du test"
@@ -10639,180 +10656,180 @@ msgstr "Ajouter un résultat de test"
msgid "No test results found"
msgstr "Aucun résultat de test trouvé"
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr "Date du test"
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr "En production"
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr "Article en stock installé dans un autre article en stock"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr "Assigné à une commande de vente"
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "Aucun emplacement de stock défini"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr "L'article de stock est en production"
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr "L'article en stock a été assigné à une commande de vente"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr "L'article en stock a été assigné à un client"
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr "L'article de stock sérialisé a été alloué"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr "L'article de stock a été complètement alloué"
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr "L'article de stock a été partiellement alloué"
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
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:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr "L'article en stock a expiré"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr "L'article en stock va bientôt expirer"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr "L'article de stock a été rejeté"
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr "L'article de stock est perdu"
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr "L'article de stock est détruit"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr "Epuisé"
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr "Pièce de fournisseur non précisée"
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr "Aucun article de stock ne correspond à la requête"
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr "Définir l'état du stock"
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr "Sélectionner le code de statut"
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr "Le code de statut doit être sélectionné"
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr "Détails"
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr "L'emplacement n'existe plus"
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr "La commande d'achat n'existe plus"
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr "Le client n'existe plus"
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr "L'article de stock n'existe plus"
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr "Ajouté"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr "Supprimé"
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr "Inclure les emplacements"
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr "Inclure les sous-catégories"
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr "Code de lot"
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr "Pièces actives"
@@ -10988,72 +11005,80 @@ msgstr "A un prix d'achat"
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:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr "Afficher les articles de stock qui ont expiré"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr "Afficher le stock qui est proche de l'expiration"
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr "État de la construction"
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr "Assigné à moi"
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr "État de la commande"
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr "En suspens"
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr "Inclure les pièces des sous-catégories"
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr "Afficher les pièces actives"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr "A un IPN"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr "La pièce a un numéro de pièce interne"
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr "Achetable"
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr "Serveur"
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index dcd01c6d07..596d7b9942 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr "הזן תאריך סיום"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "הזן תאריך סיום"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "הכנס סיסמה"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "הכנס סיסמה חדשה"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "אישור סיסמה"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "אשר סיסמה חדשה"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "אימייל (שנית)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "אישור כתובת אימייל"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "חובה לרשום את אותו אימייל בכל פעם."
@@ -231,11 +231,11 @@ msgstr "הערת קובץ"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "משתמש"
@@ -274,7 +274,7 @@ msgstr "בחירה שגויה"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "בחירה שגויה"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "שם"
@@ -295,7 +295,7 @@ msgstr "שם"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "שם"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "תיאור"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "מקור"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "גרמנית"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "יוונית"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "אנגלית"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "ספרדית"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "ספרדית (מקסיקנית)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "צרפתית"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "עברית"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "איטלקית"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "יפנית"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "קוריאנית"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "הולנדית"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "נורווגית"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "פולנית"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "רוסית"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "שוודית"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "תאילנדית"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "טורקית"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "ווייטנאמית"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "סינית"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "בהמתנה"
@@ -655,7 +656,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "רכיב"
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "כמות"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "אשר"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index 58f1650663..0663180a70 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API funkciót nem találom"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "A hiba részleteit megtalálod az admin panelen"
@@ -34,7 +34,7 @@ msgstr "Dátum megadása"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Dátum megadása"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Megjegyzések"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Jelszó megadása"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Új jelszó megadása"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Jelszó megerősítése"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Új jelszó megerősítése"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Régi jelszó"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (újra)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Email cím megerősítés"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Mindig ugyanazt az email címet kell beírni."
@@ -231,11 +231,11 @@ msgstr "Leírás, bővebb infó"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Felhasználó"
@@ -274,7 +274,7 @@ msgstr "Érvénytelen választás"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Érvénytelen választás"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Név"
@@ -295,7 +295,7 @@ msgstr "Név"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Név"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Leírás"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "szülő"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Elérési út"
@@ -357,7 +358,7 @@ msgstr "Kiszolgálóhiba"
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
@@ -424,107 +425,107 @@ msgstr "A távoli kép URL-je"
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:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Cseh"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Dán"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Német"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Görög"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Angol"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spanyol (Mexikói)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Fárszi/Perzsa"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francia"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Héber"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Magyar"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Olasz"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japán"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreai"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Holland"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norvég"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Lengyel"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugál"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugál (Brazíliai)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Orosz"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr "Szlovén"
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Svéd"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Tháj"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Török"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnámi"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Kínai"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Függőben"
@@ -655,7 +656,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:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Összevont készlet tétel"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Alkatrész"
@@ -972,42 +973,42 @@ msgstr "Gyártási kimenet már kész"
msgid "Build output does not match Build Order"
msgstr "Gyártási kimenet nem egyezik a gyártási utasítással"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Készlet túlfoglalva"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-#: build/models.py:1265
+#: build/models.py:1268
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:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Gyártás"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Gyártás amihez készletet foglaljunk"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Gyártás amihez készletet foglaljunk"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Készlet tétel"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Forrás készlet tétel"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Forrás készlet tétel"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Mennyiség"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Beépítés ebbe"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Cél készlet tétel"
@@ -1156,8 +1157,8 @@ msgstr "A gyártási kimenetek listáját meg kell adni"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Hely"
@@ -1171,8 +1172,8 @@ msgstr "A kész gyártási kimenetek helye"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Állapot"
@@ -1249,8 +1250,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve"
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
@@ -1429,16 +1430,16 @@ msgstr "Ez a gyártás %(target)s-n volt esedékes"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Késésben"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Kész"
@@ -1494,8 +1495,8 @@ msgstr "Lefoglalt alkatrészek"
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1938,9 +1939,9 @@ msgstr "Kategória paraméter sablonok másolása"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Sablon"
@@ -1951,7 +1952,7 @@ msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Gyártmány"
@@ -1960,7 +1961,7 @@ 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:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Összetevő"
@@ -1977,7 +1978,7 @@ msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Értékesíthető"
@@ -1988,7 +1989,7 @@ msgstr "Alkatrészek alapból eladhatók legyenek"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Követésre kötelezett"
@@ -1999,7 +2000,7 @@ msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtuális"
@@ -2805,8 +2806,8 @@ msgstr "Webhook neve"
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Aktív"
@@ -3051,7 +3052,7 @@ msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3079,7 +3080,7 @@ msgstr "Válassz alkatrészt"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Gyártó"
@@ -3124,7 +3125,7 @@ msgstr "Paraméter neve"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Érték"
@@ -3133,7 +3134,7 @@ msgid "Parameter value"
msgstr "Paraméter értéke"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3157,7 +3158,7 @@ msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészr
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Beszállító"
@@ -3189,7 +3190,7 @@ msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3207,7 +3208,7 @@ msgstr "Minimális díj (pl. tárolási díj)"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Csomagolás"
@@ -3324,8 +3325,8 @@ msgstr "Kép törlése"
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Vevő"
@@ -3562,7 +3563,7 @@ msgstr "Hozzárendelt készlet tételek"
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
@@ -3689,7 +3690,7 @@ msgstr "Alkatrész elérhetőség frissítése"
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Készlet"
@@ -3716,7 +3717,7 @@ msgstr "Árazás"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Készlet tételek"
@@ -3826,8 +3827,8 @@ msgstr "Nincs egyező beszerzési rendelés"
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
@@ -3998,7 +3999,7 @@ msgstr "Beszállítói alkatrész"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr "Beérkezett"
@@ -4008,7 +4009,7 @@ msgstr "Érkezett tételek száma"
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Beszerzési ár"
@@ -4599,12 +4600,12 @@ 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:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr "Alkatrész neve"
@@ -4614,7 +4615,7 @@ 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:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr "IPN"
@@ -4679,11 +4680,11 @@ msgstr "Lefoglalva"
msgid "Building"
msgstr "Gyártásban"
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr "Minimum költség"
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr "Maximum költség"
@@ -4723,7 +4724,7 @@ msgstr "Alkatrészjegyzék tétel ID"
msgid "Parent IPN"
msgstr "Szülő IPN"
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr "Alkatrész IPN"
@@ -4737,47 +4738,47 @@ msgstr "Minimum ár"
msgid "Maximum Price"
msgstr "Maximum ár"
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr "Beérkező beszerzési rendelés"
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr "Kimenő vevői rendelés"
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr "Gyártással előállított készlet"
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr "A gyártási utasításhoz szükséges készlet"
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr "Érvényes"
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr "Teljes alkatrészjegyzék jóváhagyása"
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr "Ennek az opciónak ki kll lennie választva"
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr "Nullánál nagyobb kell legyen"
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr "Érvényes mennyiségnek kell lennie"
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr "Hely megadása a kezdeti alkarész készlethez"
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr "Ez a mező kötelező"
@@ -4833,7 +4834,7 @@ msgstr "Ikon (opcionális)"
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:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Alkatrész kategória"
@@ -4869,7 +4870,7 @@ msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik."
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:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Alkatrész neve"
@@ -4897,7 +4898,7 @@ msgstr "Alkatrész leírása"
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:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5007,296 +5008,295 @@ msgstr "Utolsó leltár"
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr "Árszámítások gyorstárazásához használt pénznem"
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr "Frissítve"
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr "Legutóbbi ár frissítés időpontja"
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr "Minimum alkatrészjegyzék költség"
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr "Összetevők minimum költsége"
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr "Maximum alkatrészjegyzék költség"
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr "Összetevők maximum költsége"
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr "Minimum beszerzési ár"
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr "Eddigi minimum beszerzési költség"
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr "Maximum beszerzési ár"
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr "Eddigi maximum beszerzési költség"
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr "Minimum belső ár"
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr "Minimum költség a belső ársávok alapján"
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr "Maximum belső ár"
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr "Maximum költség a belső ársávok alapján"
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr "Minimum beszállítói ár"
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr "Minimum alkatrész ár a beszállítóktól"
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr "Maximum beszállítói ár"
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr "Maximum alkatrész ár a beszállítóktól"
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr "Minimum alkatrészváltozat ár"
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr "Alkatrészváltozatok számolt minimum költsége"
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr "Maximum alkatrészváltozat ár"
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr "Alkatrészváltozatok számolt maximum költsége"
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr "Számított általános minimum költség"
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr "Számított általános maximum költség"
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr "Minimum eladási ár"
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr "Minimum eladási ár az ársávok alapján"
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr "Maximum eladási ár"
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr "Maximum eladási ár az ársávok alapján"
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr "Minimum eladási költség"
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr "Eddigi minimum eladási ár"
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr "Maximum eladási költség"
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr "Eddigi maximum eladási ár"
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr "Leltározható alkatrész"
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr "Teljes készlet a leltárkor"
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr "Dátum"
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr "Leltározva ekkor"
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr "További megjegyzések"
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr "Leltározta"
-#: part/models.py:3091
+#: part/models.py:3094
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:3108
+#: part/models.py:3111
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:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:3147
+#: part/models.py:3150
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:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:3153
+#: part/models.py:3156
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:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr "Adat"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr "Szint"
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5304,105 +5304,105 @@ msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: part/models.py:3448
+#: part/models.py:3451
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:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:3453
+#: part/models.py:3456
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:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Örökölt"
-#: part/models.py:3466
+#: part/models.py:3469
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:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:3472
+#: part/models.py:3475
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:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
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:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3717
+#: part/models.py:3720
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:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
@@ -5666,7 +5666,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr "Leltár"
@@ -6057,7 +6057,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr "Utoljára módosítva"
@@ -6562,7 +6562,7 @@ msgid "Test Results"
msgstr "Teszt eredmények"
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr "Teszt"
@@ -6587,7 +6587,7 @@ msgstr "Beépített tételek"
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr "Sorozatszám"
@@ -6644,7 +6644,7 @@ msgstr "Vevői rendelés azonosító"
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr "Lejárati dátum"
@@ -7059,7 +7059,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:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr "Készlet tétel beépítése"
@@ -7067,7 +7067,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:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr "Teszt eredmény hozzáadása"
@@ -7226,7 +7226,7 @@ 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:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr "Lejárt"
@@ -7236,7 +7236,7 @@ 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:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr "Állott"
@@ -7573,10 +7573,19 @@ msgstr "Címke beállítások"
msgid "Login Settings"
msgstr "Belépési beállítások"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Regisztráció"
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8217,31 +8226,28 @@ msgstr "Megerősítés"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Ez az email megerősítő link lejárt vagy hibás. Klikk ide az új megerősítési kérelem elküldéséhez."
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr "Bejelentkezés"
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
-msgstr "Kérlek jelentkezz be az egyik meglévő külső fiókkal vagy Regisztrálj fiókért és jelentkezz be lentebb:"
+msgid "Not a member?"
+msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
-msgstr "Ha még nem hoztál létre fiókot akkor előbb regisztrálj."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
+msgstr "Regisztráció"
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr "Elfelejtett jelszó?"
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
-msgstr "Bejelentkezés külső fél által használt SSO-val"
+msgid "or log in with"
+msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
#: templates/account/logout.html:20
@@ -8291,10 +8297,6 @@ msgstr "Jelszó módosítása"
msgid "Your password is now changed."
msgstr "A jelszavad sikeresen megváltozott."
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr "Regisztráció"
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8304,6 +8306,21 @@ msgstr "Van már fiókod? akkor kérlek jelentkezz be<
msgid "Or use a SSO-provider for signup"
msgstr "Vagy használj SSO kiszolgálót a regisztrációhoz"
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr "Adminisztrációs panel megnyitása"
@@ -9106,8 +9123,8 @@ msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr "Kiválaszt"
@@ -9119,7 +9136,7 @@ msgstr "Gyártás késésben van"
msgid "Progress"
msgstr "Haladás"
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr "Nincs felhasználói információ"
@@ -9266,36 +9283,36 @@ msgid "Delete price break"
msgstr "Ársáv törlése"
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr "igaz"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr "hamis"
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr "Szűrők kiválasztása"
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr "Adatok letöltése"
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr "Adatok frissítése"
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr "Új szűrő hozzáadása"
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr "Összes szűrő törlése"
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr "Szűrő létrehozása"
@@ -9708,7 +9725,7 @@ msgstr "Beérkezett mennyiség"
msgid "Quantity to receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr "Készlet állapota"
@@ -9909,7 +9926,7 @@ msgid "Delete Stock Allocation"
msgstr "Készlet foglalások törlése"
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr "Vevőnek kiszállítva"
@@ -10134,7 +10151,7 @@ msgid "Copy Bill of Materials"
msgstr "Alkatrészjegyzék másolása"
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr "Alacsony készlet"
@@ -10215,7 +10232,7 @@ msgid "Allocated to sales orders"
msgstr "Vevő rendeléshez lefoglalva"
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr "Megjelenítés listaként"
@@ -10239,7 +10256,7 @@ msgstr "Alkatrész kategória kiválasztása"
msgid "Category is required"
msgstr "Kategória megadása kötelező"
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr "Megjelenítés fában"
@@ -10260,7 +10277,7 @@ msgid "Edit test result"
msgstr "Teszt eredmény szerkesztése"
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr "Teszt eredmény törlése"
@@ -10640,180 +10657,180 @@ msgstr "Teszt eredmény hozzáadása"
msgid "No test results found"
msgstr "Nincs teszt eredmény"
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr "Teszt dátuma"
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr "Gyártásban"
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr "Beépítve készlet tételbe"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr "Vevő rendeléshez hozzárendelve"
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "Nincs hely megadva"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr "Készlet tétel gyártás alatt"
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva"
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr "Készlet tétel teljes egészében lefoglalva"
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr "Készlet tétel részben lefoglalva"
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
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:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr "Készlet tétel lejárt"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr "Készlet tétel hamarosan lejár"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr "Készlet tétel elutasítva"
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr "Készlet tétel elveszett"
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr "Készlet tétel megsemmisült"
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr "Kimerült"
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr "Beszállítói alkatrész nincs megadva"
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr "Nincs a lekérdezésnek megfelelő készlet tétel"
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr "Készlet állapot beállítása"
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr "Státuszkód kiválasztása"
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr "Státuszkódot ki kell választani"
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr "Alhelyek betöltése"
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr "Részletek"
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr "Alkatrész információ nem áll rendelkezésre"
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr "A hely már nem létezik"
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr "Beszerzési megrendelés már nem létezik"
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr "Vevő már nem létezik"
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr "A készlet tétel már nem létezik"
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr "Hozzáadva"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr "Eltávolítva"
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr "Nincsenek beépített tételek"
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr "Készlet tétel kiszedése"
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr "Válaszd ki a kiszedni való készlet tételt"
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
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:2862
+#: templates/js/translated/stock.js:2870
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:2864
+#: templates/js/translated/stock.js:2872
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:2865
+#: templates/js/translated/stock.js:2873
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:2866
+#: templates/js/translated/stock.js:2874
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:2867
+#: templates/js/translated/stock.js:2875
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:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr "Válaszd ki a beépítendő alkatrészt"
@@ -10838,7 +10855,7 @@ 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:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr "Van árazás"
@@ -10853,12 +10870,12 @@ msgstr "Helyekkel együtt"
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr "Alkategóriákkal együtt"
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr "Értesítés beállítva"
@@ -10900,7 +10917,7 @@ msgid "Batch code"
msgstr "Batch kód"
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr "Aktív alkatrész"
@@ -10989,72 +11006,80 @@ msgstr "Van beszerzési ára"
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:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr "Lejárt készlet tételek megjelenítése"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
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:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr "Teszten megfelelt"
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr "Beépített tételekkel együtt"
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr "Gyártási állapot"
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr "Hozzám rendelt"
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr "Rendelés állapota"
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr "Kintlévő"
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr "Alkategóriákkal együtt"
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr "Aktív alkatrészek megjelenítése"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr "Elérhető"
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr "Van IPN-je"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr "Van belső cikkszáma"
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr "Készleten"
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr "Beszerezhető"
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr "Volt leltár"
@@ -11200,6 +11225,52 @@ msgstr "Keresés menü bezárása"
msgid "No search results"
msgstr "Nincs találat"
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr "Kiszolgáló"
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 99cc171228..ba4113904f 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API endpoint tidak ditemukan"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr "Masukkan tanggal"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Masukkan tanggal"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Catatan"
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Masukkan sandi"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Masukkan kata sandi baru"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Konfirmasikan kata sandi"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Konfirmasi sandi baru"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Kata sandi lama"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (ulang)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Konfirmasi alamat email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Masukkan email yang sama."
@@ -231,11 +231,11 @@ msgstr "Komentar file"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Pengguna"
@@ -274,7 +274,7 @@ msgstr "Pilihan tidak valid"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Pilihan tidak valid"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Nama"
@@ -295,7 +295,7 @@ msgstr "Nama"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Nama"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Keterangan"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "induk"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Direktori"
@@ -357,7 +358,7 @@ msgstr "Terjadi Kesalahan Server"
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
@@ -424,107 +425,107 @@ msgstr "URL file gambar external"
msgid "Downloading images from remote URL is not enabled"
msgstr "Unduhan gambar dari URL external tidak aktif"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Ceko"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Denmark"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Jerman"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Yunani"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Inggris"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spanyol (Meksiko)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Persia"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Perancis"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Ibrani"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Hungaria"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Itali"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Jepang"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Korea"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Belanda"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norwegia"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polandia"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugis"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugis (Brasil)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Rusia"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Swedia"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thai"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turki"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnam"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Cina"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr ""
@@ -655,7 +656,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:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Stok item digabungkan"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Referensi Order Produksi"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Produksi induk dari produksi ini"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Produksi induk dari produksi ini"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Bagian"
@@ -972,42 +973,42 @@ msgstr "Hasil produksi sudah selesai"
msgid "Build output does not match Build Order"
msgstr "Hasil produksi tidak sesuai dengan order produksi"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Item produksi harus menentukan hasil produksi karena bagian utama telah ditandai sebagai dapat dilacak"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Item stok teralokasikan terlalu banyak"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Jumlah yang dialokasikan harus lebih dari nol"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Jumlah harus 1 untuk stok dengan nomor seri"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Item stok yang dipilih tidak ditemukan dalam daftar barang order"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Produksi"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Stok Item"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Sumber stok item"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Sumber stok item"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Jumlah"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Jumlah stok yang dialokasikan ke produksi"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Pasang ke"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Tujuan stok item"
@@ -1156,8 +1157,8 @@ msgstr "Daftar hasil pesanan harus disediakan"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Lokasi"
@@ -1171,8 +1172,8 @@ msgstr "Lokasi hasil pesanan yang selesai"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Status"
@@ -1248,8 +1249,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup"
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Item tagihan material"
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Konfirmasi"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 3c7469a2ba..af19d8019d 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "Endpoint API non trovato"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione"
@@ -34,7 +34,7 @@ msgstr "Inserisci la data"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Inserisci la data"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Note"
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Inserire la password"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Inserire una nuova password"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Conferma la password"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Conferma la nuova password"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Vecchia password"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (ancora)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Conferma indirizzo email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "È necessario digitare la stessa e-mail ogni volta."
@@ -231,11 +231,11 @@ msgstr "Commento del file"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Utente"
@@ -274,7 +274,7 @@ msgstr "Scelta non valida"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Scelta non valida"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Nome"
@@ -295,7 +295,7 @@ msgstr "Nome"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Nome"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Descrizione"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "genitore"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Percorso"
@@ -357,7 +358,7 @@ msgstr "Errore del server"
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Ceco"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Tedesco"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Greco"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Inglese"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spagnolo"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spagnolo (Messicano)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Persiano"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francese"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Ebraico"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Ungherese"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Giapponese"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Olandese"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norvegese"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polacco"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portoghese"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portoghese (Brasile)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Svedese"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thailandese"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Cinese"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "In attesa"
@@ -655,7 +656,7 @@ msgstr "Diviso dall'elemento genitore"
msgid "Split child item"
msgstr "Dividi elemento figlio"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Elemento stock raggruppato"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Articolo"
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "L'articolo in giacenza è sovrallocato"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "La quantità di assegnazione deve essere maggiore di zero"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "La quantità deve essere 1 per lo stock serializzato"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Articolo in giacenza selezionato non trovato nel BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Produzione"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Articoli in magazzino"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Origine giacenza articolo"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Origine giacenza articolo"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Quantità"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Installa in"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Posizione"
@@ -1171,8 +1172,8 @@ msgstr "Posizione per gli output di build completati"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Stato"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Distinta base (Bom)"
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "In ritardo"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Completato"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Copia Template Parametri Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr "Gli articoli sono modelli per impostazione predefinita"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Assemblaggio"
@@ -1959,7 +1960,7 @@ 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:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Componente"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Vendibile"
@@ -1987,7 +1988,7 @@ msgstr "Gli articoli sono acquistabili per impostazione predefinita"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Tracciabile"
@@ -1998,7 +1999,7 @@ msgstr "Gli articoli sono tracciabili per impostazione predefinita"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtuale"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Attivo"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Seleziona articolo"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Produttore"
@@ -3123,7 +3124,7 @@ msgstr "Nome parametro"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Valore"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "Valore del parametro"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Fornitore"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Confezionamento"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Cliente"
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Articolo Fornitore"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Magazzino"
@@ -3715,7 +3716,7 @@ msgstr "Prezzi"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Articoli in magazzino"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr "Articolo Fornitore"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr "Specifica la posizione per lo stock iniziale"
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Nome articolo"
@@ -4896,7 +4897,7 @@ msgstr "Descrizione articolo"
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:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr "Ultimo Inventario"
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr "Data"
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr "Inventario"
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr "Seriale"
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr "Data di Scadenza"
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr "Impostazioni di accesso"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Registrati"
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Conferma"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr "Accedi"
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
-msgstr ""
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
+msgstr "Registrati"
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr "Password dimenticata?"
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr "Cambia password"
msgid "Your password is now changed."
msgstr "La tua password è stata modificata."
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr "Registrati"
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr "Visualizza nel pannello di amministrazione"
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr "Cancella riduzione di prezzo"
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr "vero"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr "falso"
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr "Seleziona filtro"
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr "Ricarica dati"
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr "Aggiungi nuovo filtro"
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr "Cancella tutti i filtri"
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr "Crea filtro"
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr "Quantità da ricevere"
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr "Stato giacenza"
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr "Elimina posizione giacenza"
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr "Spedito al cliente"
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr "In esaurimento"
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr "Visualizza come elenco"
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr "Visualizza come struttura ad albero"
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr "Modificare il risultato del test"
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr "Cancellare il risultato del test"
@@ -10639,180 +10656,180 @@ msgstr "Aggiungi risultato test"
msgid "No test results found"
msgstr "Nessun risultato di prova trovato"
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr "In produzione"
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr "Installato nell'elemento stock"
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr "Assegnato all'ordine di vendita"
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "Nessuna giacenza impostata"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr "L'articolo di magazzino è in produzione"
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr "Articolo stock assegnato al cliente"
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr "L'elemento stock è stato installato in un altro articolo"
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr "L'articolo stock è scaduto"
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr "Articolo in giacenza prossimo alla scadenza"
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr "L'articolo stock è stato rifiutato"
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr "Esaurito"
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr "La posizione non esiste più"
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr "Aggiunto"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr "Rimosso"
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr "Includi posizioni"
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr "Includi sottocategorie"
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr "Sottoscritto"
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr "Codice Lotto"
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr "Elementi attivi"
@@ -10988,72 +11005,80 @@ msgstr "Ha il prezzo d'acquisto"
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:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr "Mostra gli elementi in giacenza scaduti"
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr "Mostra giacenza prossima alla scadenza"
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr "Stato Build"
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr "Stato dell'ordine"
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr "In Sospeso"
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr "Includi articoli nelle sottocategorie"
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr "Visualizza articoli attivi"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr "Ha IPN"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr "L'articolo possiede un part number interno"
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr "Acquistabile"
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index eead707458..f8cada48b0 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "APIエンドポイントが見つかりません"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr "日付を入力する"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "日付を入力する"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "メモ"
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "パスワードを入力してください"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "新しいパスワードを入力してください。"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "パスワードの確認"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "新しいパスワードの確認"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "メールアドレス(確認用)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "メールアドレスの確認"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "毎回同じメールアドレスを入力する必要があります。"
@@ -231,11 +231,11 @@ msgstr "ファイルコメント"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "ユーザー"
@@ -274,7 +274,7 @@ msgstr "無効な選択です"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "無効な選択です"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "お名前"
@@ -295,7 +295,7 @@ msgstr "お名前"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "お名前"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "説明"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "親"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "ギリシャ語"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "スペイン語"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "スペイン語(メキシコ)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "ヘブライ語"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "ハンガリー語"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "イタリア語"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "日本語"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "韓国語"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "オランダ語"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "ノルウェー語"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "ロシア語"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "スウェーデン語"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "タイ語"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "ベトナム語"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "中国語"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "処理待ち"
@@ -655,7 +656,7 @@ msgstr "親アイテムから分割する"
msgid "Split child item"
msgstr "子項目を分割"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "商品在庫をマージしました"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "パーツ"
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "パーツを割り当てるためにビルドする"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "パーツを割り当てるためにビルドする"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "在庫商品"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "ステータス"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "テンプレート"
@@ -1950,7 +1951,7 @@ msgstr "パーツはデフォルトのテンプレートです"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "アセンブリ"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "コンポーネント"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr "パーツはデフォルトで販売可能です"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "追跡可能"
@@ -1998,7 +1999,7 @@ msgstr "パーツはデフォルトで追跡可能です"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "購入金額"
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr "期限切れ"
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "確認"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index 0711af13a4..b5c1774f97 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "비밀번호를 입력하세요"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "새로운 비밀번호를 입력하세요"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "비밀번호 확인"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "새 비밀번호 확인"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "이메일 (다시 입력)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "이메일 주소 확인"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr ""
@@ -231,11 +231,11 @@ msgstr ""
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "사용자"
@@ -274,7 +274,7 @@ msgstr ""
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "이름"
@@ -295,7 +295,7 @@ msgstr "이름"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "이름"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "설명"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "체코어"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "독일어"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "그리스어"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "영어"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "스페인어"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "스페인어 (멕시코)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "파르시어/페르시아어"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "프랑스어"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "히브리어"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "헝가리어"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "이탈리아어"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "일본어"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "한국어"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "네덜란드어"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "노르웨이어"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "폴란드어"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "러시아어"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "스웨덴어"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "태국어"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "터키어"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "베트남어"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "중국어"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr ""
@@ -655,7 +656,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "수량"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "위치"
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "상태"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "판매 가능"
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "고객"
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr "데이터"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr "로그인 설정"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "확인"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr "로그인"
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr "비밀번호 변경"
msgid "Your password is now changed."
msgstr "비밀번호가 변경되었습니다."
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr "선택"
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr "부품 명세서 복사"
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index 33e631ee1b..49f9a1068e 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API eindpunt niet gevonden"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Error details kunnen worden gevonden in het admin scherm"
@@ -34,7 +34,7 @@ msgstr "Voer datum in"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Voer datum in"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Opmerkingen"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Voer wachtwoord in"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Voer een nieuw wachtwoord in"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Wachtwoord bevestigen"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Nieuw wachtwoord bevestigen"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Oude wachtwoord"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-mailadres (opnieuw)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "E-mailadres bevestiging"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Er moet hetzelfde e-mailadres ingevoerd worden."
@@ -231,11 +231,11 @@ msgstr "Bestand opmerking"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Gebruiker"
@@ -274,7 +274,7 @@ msgstr "Ongeldige keuze"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Ongeldige keuze"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Naam"
@@ -295,7 +295,7 @@ msgstr "Naam"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Naam"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Omschrijving"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "bovenliggende"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Pad"
@@ -357,7 +358,7 @@ msgstr "Serverfout"
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:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
@@ -424,107 +425,107 @@ msgstr "URL van extern afbeeldingsbestand"
msgid "Downloading images from remote URL is not enabled"
msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tsjechisch"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Duits"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Grieks"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Engels"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spaans"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spaans (Mexicaans)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Perzisch"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Frans"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebreeuws"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Hongaars"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italiaans"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japans"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreaans"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Nederlands"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Noors"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Pools"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugees"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugees (Braziliaans)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Zweeds"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thais"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turks"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamees"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Chinees"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Bezig"
@@ -655,7 +656,7 @@ msgstr "Splits van bovenliggend item"
msgid "Split child item"
msgstr "Splits onderliggende item"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Samengevoegde voorraadartikelen"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Productieorderreferentie"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Onderdeel"
@@ -972,42 +973,42 @@ msgstr "Productie uitvoer is al voltooid"
msgid "Build output does not match Build Order"
msgstr "Productuitvoer komt niet overeen met de Productieorder"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Voorraad item is te veel toegewezen"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Product"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Product om onderdelen toe te wijzen"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Product om onderdelen toe te wijzen"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Voorraadartikel"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Bron voorraadartikel"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Bron voorraadartikel"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Hoeveelheid"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Voorraad hoeveelheid toe te wijzen aan productie"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Installeren in"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
@@ -1156,8 +1157,8 @@ msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Locatie"
@@ -1171,8 +1172,8 @@ msgstr "Locatie van voltooide productieuitvoeren"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Status"
@@ -1248,8 +1249,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid"
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Stuklijstartikel"
@@ -1428,16 +1429,16 @@ msgstr "Deze productie was verwacht op %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Achterstallig"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Voltooid"
@@ -1493,8 +1494,8 @@ msgstr "Toegewezen Onderdelen"
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Kopiëer Categorieparameter Sjablonen"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Sjabloon"
@@ -1950,7 +1951,7 @@ msgstr "Onderdelen zijn standaard sjablonen"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Samenstelling"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Component"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Verkoopbaar"
@@ -1987,7 +1988,7 @@ msgstr "Onderdelen kunnen standaard verkocht worden"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Volgbaar"
@@ -1998,7 +1999,7 @@ msgstr "Onderdelen kunnen standaard gevolgd worden"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtueel"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Actief"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Onderdeel selecteren"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Fabrikant"
@@ -3123,7 +3124,7 @@ msgstr "Parameternaam"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Waarde"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "Parameterwaarde"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderd
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Leverancier"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr "Minimale kosten (bijv. voorraadkosten)"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Klant"
@@ -3561,7 +3562,7 @@ msgstr "Toegewezen Voorraadartikelen"
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Leveranciersonderdeel"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Voorraad"
@@ -3715,7 +3716,7 @@ msgstr "Prijzen"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Voorraadartikelen"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Inkooporder"
@@ -3997,7 +3998,7 @@ msgstr "Leveranciersonderdeel"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr "Ontvangen"
@@ -4007,7 +4008,7 @@ msgstr "Aantal ontvangen artikelen"
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Inkoopprijs"
@@ -4598,12 +4599,12 @@ 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:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr "Toegewezen"
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr "Binnenkomende Inkooporder"
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr "Uitgaande Verkooporder"
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr "Geproduceerde voorraad door Productieorder"
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr "Voorraad vereist voor Productieorder"
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr "Datum"
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr "Parameternaam"
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr "Parameter Eenheden"
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "Parameter Template"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Bevestigen"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr "Productieorder is achterstallig"
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr "Verwijder Voorraadtoewijzing"
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr "Verzonden aan klant"
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr "Toegewezen aan Verkooporder"
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "Geen voorraadlocatie ingesteld"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr "Voorraadartikel toegewezen aan verkooporder"
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr "Inkooporder bestaat niet meer"
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr "Order status"
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index a1251015be..00734c88da 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API endepunkt ikke funnet"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Feildetaljer kan ikke finnes i admin-panelet"
@@ -34,7 +34,7 @@ msgstr "Oppgi dato"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Oppgi dato"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Notater"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Oppgi passord"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Oppgi nytt passord"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Bekreft passord"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Bekreft nytt passord"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Gammelt passord"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-post (gjenta)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Bekreftelsen på e-postaddresse"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Du må angi samme e-post hver gang."
@@ -231,11 +231,11 @@ msgstr "Kommentar til fil"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Bruker"
@@ -274,7 +274,7 @@ msgstr "Ugyldig valg"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Ugyldig valg"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Navn"
@@ -295,7 +295,7 @@ msgstr "Navn"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Navn"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Beskrivelse"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "overkategori"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Sti"
@@ -357,7 +358,7 @@ msgstr "Serverfeil"
msgid "An error has been logged by the server."
msgstr "En feil har blitt logget av serveren."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
@@ -424,107 +425,107 @@ msgstr "URL-adressen til ekstern bildefil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tsjekkisk"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Gresk"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spansk (Meksikansk)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Nederlandsk"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilian)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Kinesisk"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Ventende"
@@ -655,7 +656,7 @@ msgstr "Delt fra overordnet element"
msgid "Split child item"
msgstr "Delt fra underelement"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Sammenslått lagervare"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Build order som denne build er tildelt til"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Build order som denne build er tildelt til"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Del"
@@ -972,42 +973,42 @@ msgstr "Prosjekt utdata er allerede utfylt"
msgid "Build output does not match Build Order"
msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er markert som sporbar"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Lagervare er overtildelt"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Tildeling antallet må være større enn null"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Mengden må væew 1 for serialisert lagervare"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Valgt lagevare ikke funnet i BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Prosjekt"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Bygge for å tildele deler"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Bygge for å tildele deler"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Lagervare"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Kilde lagervare"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Kilde lagervare"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Antall"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Lagerantall å allokere til bygging"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Installerings informasjon"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Målets lagervare"
@@ -1156,8 +1157,8 @@ msgstr "En liste over byggeresultater må oppgis"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Beliggenhet"
@@ -1171,8 +1172,8 @@ msgstr "Sted for ferdige byggeresultater"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Status"
@@ -1248,8 +1249,8 @@ msgstr "Antall nødvendige bygg er ikke fullført"
msgid "Build order has incomplete outputs"
msgstr "Bestillingen har ufullstendige resultater"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "BOM varer"
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Fullført"
@@ -1493,8 +1494,8 @@ msgstr "Tildelte deler"
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Kopier designmaler for kategoriparametere"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier kategori parametermaler ved oppretting av en del"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Mal"
@@ -1950,7 +1951,7 @@ msgstr "Deler er maler som standard"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Montering"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Komponent"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Salgbar"
@@ -1987,7 +1988,7 @@ msgstr "Deler er salgbare som standard"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Sporbar"
@@ -1998,7 +1999,7 @@ msgstr "Deler er sporbare som standard"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtuelle"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Aktiv"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Kunde"
@@ -3561,7 +3562,7 @@ msgstr "Tildelt lagervarer"
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Leverandør deler"
@@ -3688,7 +3689,7 @@ msgstr "Oppdater tilgjengelighet"
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Bekreft"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index f4eb47d4bc..f67aaf6dce 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:22\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "Nie znaleziono punktu końcowego API"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym"
@@ -34,7 +34,7 @@ msgstr "Wprowadź dane"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Wprowadź dane"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Uwagi"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Wprowadź hasło"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Wprowadź nowe hasło"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Potwierdź hasło"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Potwierdź nowe hasło"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Stare hasło"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Adres email (ponownie)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Potwierdzenie adresu email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Należy ponownie wpisać ten sam adres e-mail."
@@ -231,11 +231,11 @@ msgstr "Komentarz pliku"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Użytkownik"
@@ -274,7 +274,7 @@ msgstr "Błędny wybór"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Błędny wybór"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Nazwa"
@@ -295,7 +295,7 @@ msgstr "Nazwa"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Nazwa"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Opis"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "nadrzędny"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Ścieżka"
@@ -357,7 +358,7 @@ msgstr "Błąd serwera"
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Czeski"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Grecki"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Hiszpański"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Hiszpański (Meksyk)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Perski"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebrajski"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Węgierski"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Włoski"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japoński"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreański"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Holenderski"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norweski"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugalski"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugalski (Brazylijski)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Rosyjski"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Szwedzki"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Tajski"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Wietnamski"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Chiński"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "W toku"
@@ -655,7 +656,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:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Scalone przedmioty magazynowe"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Komponent"
@@ -972,42 +973,42 @@ msgstr "Budowanie wyjścia jest już ukończone"
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Alokowana ilość musi być większa niż zero"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Nie znaleziono wybranego elementu magazynowego w BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Budowa"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Element magazynowy"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Lokalizacja magazynowania przedmiotu"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Ilość"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Zainstaluj do"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Lokalizacja"
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Status"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "Element BOM"
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Zaległe"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Zakończone"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Szablon"
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Złożenie"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Komponent"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Możliwość sprzedaży"
@@ -1987,7 +1988,7 @@ msgstr "Części są domyślnie z możliwością sprzedaży"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Możliwość śledzenia"
@@ -1998,7 +1999,7 @@ msgstr "Części są domyślnie z możliwością śledzenia"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Wirtualny"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Aktywny"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Wybierz część"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Producent"
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Wartość"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Dostawca"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Opakowanie"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Klient"
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Stan"
@@ -3715,7 +3716,7 @@ msgstr "Cennik"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Towary"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr "Odebrane"
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Cena zakupu"
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "ID komponentu"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr "Nazwa komponentu"
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr "Przydzielono"
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr "IPN komponentu"
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr "Ważny"
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr "Ta opcja musi być zaznaczona"
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr "Musi być większe niż zero"
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr "Musi być prawidłową ilością"
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr "To pole jest wymagane"
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Nazwa komponentu"
@@ -4896,7 +4897,7 @@ msgstr "Opis komponentu"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr "Ostatnia inwentaryzacja"
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr "Data"
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr "Dane"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr "Poziom"
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "Dziedziczone"
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr "Zainstalowane elementy"
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr "Numer seryjny"
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr "Data ważności"
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr "Termin minął"
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr "Ustawienia etykiet"
msgid "Login Settings"
msgstr "Ustawienia logowania"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr "Rejestracja"
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,33 +8225,27 @@ msgstr "Potwierdź"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Ten link potwierdzający adres e-mail wygasł, bądź jest nieprawidłowy. Proszę o zażądanie nowego e-maila potwierdzającego adres e-mail."
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr "Zaloguj się"
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
-msgstr "Zaloguj się za pomocą jednego\n"
-"istniejących kont stron trzecich lub zarejestruj się\n"
-"w celu założenia konta i zaloguj się poniżej:"
+msgid "Not a member?"
+msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
-msgstr "Jeżeli jeszcze nie utworzyłeś konta, to proszę najpierw\n"
-"zarejstruj się."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
+msgstr "Zarejestruj się"
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr "Zapomniałeś hasła?"
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8293,10 +8296,6 @@ msgstr "Zmień hasło"
msgid "Your password is now changed."
msgstr "Twoje hasło zostało zmienione."
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr "Zarejestruj się"
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8306,6 +8305,21 @@ msgstr "Masz już konto? Jeżeli tak, to zaloguj się<
msgid "Or use a SSO-provider for signup"
msgstr "Lub użyj dostawcy SSO w celu rejestracji"
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr "Zobacz w panelu administracyjnym"
@@ -9108,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr "Wybierz"
@@ -9121,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr "Brak informacji o użytkowniku"
@@ -9268,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr "prawda"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr "fałsz"
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr "Wybierz filtr"
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr "Pobierz dane"
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr "Przeładuj dane"
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr "Dodaj nowy filtr"
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr "Wyczyść wszystkie filtry"
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr "Utwórz filtr"
@@ -9710,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9911,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10136,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10217,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr "Wyświetl jako listę"
@@ -10241,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr "Wyświetl jako drzewo"
@@ -10262,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10642,180 +10656,180 @@ msgstr "Dodaj wynik testu"
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr "W produkcji"
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr "Kod statusu musi być wybrany"
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr "Szczegóły"
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr "Lokalizacja już nie istnieje"
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr "Zamówienie zakupu już nie istnieje"
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr "Klient już nie istnieje"
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr "Element magazynowy już nie istnieje"
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr "Dodano"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr "Usunięto"
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10840,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10855,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr "Obesrwowane"
@@ -10902,7 +10916,7 @@ msgid "Batch code"
msgstr "Kod partii"
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr "Aktywne części"
@@ -10991,72 +11005,80 @@ msgstr "Posiada cenę zakupu"
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr "Test pomyślny"
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr "Przypisane do mnie"
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr "Status zamówienia"
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr "Pokaż aktywne części"
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr "Posiada IPN"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr "Część posiada wewnętrzny numer części"
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr "Możliwość zakupu"
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11202,6 +11224,52 @@ msgstr "Zamknij menu wyszukiwania"
msgid "No search results"
msgstr "Brak wyników"
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr "Serwer"
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index 45b27d9758..2eda8ebebf 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API endpoint não encontrado"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Detalhes do erro podem ser encontrados no painel de administrador"
@@ -34,7 +34,7 @@ msgstr "Insira uma Data"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Insira uma Data"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Anotações"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Digite a senha"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Insira uma nova senha"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Confirmar senha"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Confirmar nova senha"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Senha atual"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-mail (novamente)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Confirmação do endereço de email"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Voce precisa digital o mesmo email."
@@ -231,11 +231,11 @@ msgstr "Comentario sobre arquivo"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Usuario"
@@ -274,7 +274,7 @@ msgstr "Escolha invalida"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Escolha invalida"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Nome"
@@ -295,7 +295,7 @@ msgstr "Nome"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Nome"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Descricao"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Caminho"
@@ -357,7 +358,7 @@ msgstr "Erro de servidor"
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
@@ -424,107 +425,107 @@ msgstr "URL do arquivo de imagem remoto"
msgid "Downloading images from remote URL is not enabled"
msgstr "Baixar imagens de URL remota não está habilitado"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tcheco"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Dinamarquês"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Alemão"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Grego"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Inglês"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Espanhol"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Espanhol (Mexicano)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Persa"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francês"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebraico"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japonês"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Holandês"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norueguês"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polonês"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr ""
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr ""
@@ -655,7 +656,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Confirmar"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index 4ca87518a5..993d5fdffd 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-01-01 11:05+0000\n"
+"POT-Creation-Date: 2023-01-03 01:26+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -46,7 +46,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -236,7 +236,7 @@ msgstr ""
#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr ""
@@ -286,7 +286,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr ""
@@ -312,8 +312,9 @@ msgstr ""
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr ""
@@ -326,7 +327,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -656,7 +657,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -829,9 +830,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -1019,7 +1020,7 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
@@ -1064,7 +1065,7 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
@@ -1157,8 +1158,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1172,8 +1173,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1494,8 +1495,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -3124,7 +3125,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3207,7 +3208,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3324,7 +3325,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
+#: templates/js/translated/stock.js:2610
#: templates/js/translated/table_filters.js:447
msgid "Customer"
msgstr ""
@@ -3562,7 +3563,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3689,7 +3690,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3716,7 +3717,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3826,8 +3827,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -4008,7 +4009,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4614,7 +4615,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -5153,7 +5154,7 @@ msgstr ""
#: templates/InvenTree/settings/plugin_settings.html:38
#: templates/js/translated/order.js:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
@@ -5178,7 +5179,6 @@ msgid "Test with this name already exists for this part"
msgstr ""
#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
msgid "Test Name"
msgstr ""
@@ -5666,7 +5666,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6057,7 +6057,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6562,7 +6562,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6587,7 +6587,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6644,7 +6644,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7059,7 +7059,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7067,7 +7067,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -9108,8 +9108,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9121,7 +9121,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9710,7 +9710,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9911,7 +9911,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10217,7 +10217,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10241,7 +10241,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10262,7 +10262,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10642,180 +10642,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index c27bed1735..00227defcc 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "Конечная точка API не обнаружена"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Подробности об ошибке можно найти в панели администратора"
@@ -34,7 +34,7 @@ msgstr "Введите дату"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Введите дату"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Заметки"
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Введите пароль"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Введите новый пароль"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Подтвердить пароль"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Подтвердите новый пароль"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (еще раз)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Подтверждение адреса электронной почты"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Вы должны вводить один и тот же адрес электронной почты."
@@ -231,11 +231,11 @@ msgstr "Комментарий к файлу"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Пользователь"
@@ -274,7 +274,7 @@ msgstr "Неверный выбор"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Неверный выбор"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Название"
@@ -295,7 +295,7 @@ msgstr "Название"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Название"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Описание"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "родитель"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Путь"
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Греческий"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Испанский"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Испанский (Мексика)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Иврит"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Венгерский"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Итальянский"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Японский"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Корейский"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Голландский"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Норвежский"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Русский"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Шведский"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Тайский"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Вьетнамский"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Китайский"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Ожидаемый"
@@ -655,7 +656,7 @@ msgstr "Отделить от родительского элемента"
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Объединенные позиции на складе"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Ссылка на заказ"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Детали"
@@ -972,42 +973,42 @@ msgstr "Вывод сборки уже завершен"
msgid "Build output does not match Build Order"
msgstr "Вывод сборки не совпадает с порядком сборки"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Предмет на складе перераспределен"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Выделенное количество должно быть больше нуля"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Количество должно быть 1 для сериализованных запасов"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Выбранная единица хранения не найдена в BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Сборка"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Предметы на складе"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Исходный складской предмет"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Исходный складской предмет"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Количество"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Расположение"
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Статус"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "BOM Компонент"
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Просрочено"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Завершённые"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Шаблон"
@@ -1950,7 +1951,7 @@ msgstr "По умолчанию детали являются шаблонами
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Сборка"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Компонент"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Можно продавать"
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Отслеживание"
@@ -1998,7 +1999,7 @@ msgstr "По умолчанию детали являются отслежива
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Выберите деталь"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Производитель"
@@ -3123,7 +3124,7 @@ msgstr "Наименование параметра"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Значение"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "Значение параметра"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Поставщик"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Упаковка"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Покупатель"
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Деталь поставщика"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Склад"
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Детали на складе"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Заказ на закупку"
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Закупочная цена"
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "Артикул"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr "Наименование детали"
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr "IPN"
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Наименование детали"
@@ -4896,7 +4897,7 @@ msgstr "Описание детали"
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr "Установленные единицы хранения"
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr "Установить единицу хранения"
@@ -7066,7 +7066,7 @@ msgstr "Установить единицу хранения"
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr "Настройки меток"
msgid "Login Settings"
msgstr "Настройки входа"
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Подтвердить"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr "Эта ссылка для подтверждения электронной почты устарела или является недействительной. Пожалуйста, отправьте новый запрос на подтверждение электронной почты."
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr "Скачать данные"
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr "Список"
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr "Дерево"
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr "Код партии"
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr "Статус сборки"
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po
index b98117195b..6520d2de7e 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:27\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API vmesnik ni najden"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Napaka, podrobnosti vidne v pogledu administratorja"
@@ -34,7 +34,7 @@ msgstr "Vnesi datum"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Vnesi datum"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Zapiski"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Vnesite geslo"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Vnesite novo geslo"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Potrdite geslo"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Potrdite novo geslo"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Staro geslo"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Ponovnite e-pošto"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Potrdite e-pošto"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "E-pošti se morata ujemati"
@@ -231,11 +231,11 @@ msgstr "Komentar datoteke"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Uporabnik"
@@ -274,7 +274,7 @@ msgstr "Nedovoljena izbira"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Nedovoljena izbira"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Ime"
@@ -295,7 +295,7 @@ msgstr "Ime"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Ime"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Opis"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "nadrejen"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Pot"
@@ -357,7 +358,7 @@ msgstr "Napaka strežnika"
msgid "An error has been logged by the server."
msgstr "Zaznana napaka na strežniku."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
@@ -424,107 +425,107 @@ msgstr "Povezava do oddaljene slike"
msgid "Downloading images from remote URL is not enabled"
msgstr "Prenos slik iz oddaljene povezave ni omogočen"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Češko"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "Danščina"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Nemščina"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Grščina"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Angleščina"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Španščina"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Španščina (Mehiško)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Perzijsko"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Francoščina"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebrejščina"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Madžarščina"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italijanščina"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japonščina"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Korejščina"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Nizozemščina"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norveščina"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Poljščina"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugalščina"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugalščina (Brazilsko)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Ruščina"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr "Slovenščina"
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Švedščina"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Tajščina"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turščina"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamščina"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Kitajščina"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "V teku"
@@ -655,7 +656,7 @@ msgstr "Razdeljena od nadrejene postavke"
msgid "Split child item"
msgstr "Razdeljena podrejena postavka"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Združena zaloga postavk"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Referenca naloga izgradnje"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Del"
@@ -972,42 +973,42 @@ msgstr "Igradnja je že dokončana"
msgid "Build output does not match Build Order"
msgstr "Izgradnja se ne ujema s nalogom izdelave"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Izdelana postavka mora imeti izgradnjo, če je glavni del označen kot sledljiv"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})"
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Preveč zaloge je prestavljene"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Prestavljena količina mora biti večja od 0"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Količina za zalogo s serijsko številko mora biti 1"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Izbrana postavka ni najdena v BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Izdelava"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Izdelaj da prestaviš dele"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Izdelaj da prestaviš dele"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Postavka zaloge"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Izvorna postavka zaloge"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Izvorna postavka zaloge"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Količina"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Količina zaloge za prestavljanje za izgradnjo"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Inštaliraj v"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Destinacija postavke zaloge"
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr ""
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 35e33712f2..c1ebc1a461 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API-slutpunkt hittades inte"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Information om felet finns under Error i adminpanelen"
@@ -34,7 +34,7 @@ msgstr "Ange datum"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Ange datum"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Anteeckningar"
@@ -58,35 +58,35 @@ 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:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Ange lösenord"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Ange nytt lösenord"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Bekräfta lösenord"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Bekräfta nytt lösenord"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Tidigare lösenord"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-post (igen)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Bekräfta e-postadress"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Du måste ange samma e-post varje gång."
@@ -231,11 +231,11 @@ msgstr "Fil kommentar"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Användare"
@@ -274,7 +274,7 @@ msgstr "Ogiltigt val"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Ogiltigt val"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Namn"
@@ -295,7 +295,7 @@ msgstr "Namn"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Namn"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Beskrivning"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "överordnad"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "Sökväg"
@@ -357,7 +358,7 @@ msgstr "Serverfel"
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
@@ -424,107 +425,107 @@ msgstr "URL för fjärrbildsfil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "Tjeckiska"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Tyska"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Grekiska"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "Engelska"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "Spanska"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "Spanska (Mexikanska)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "Farsi / Persiska"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Franska"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "Hebreiska"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Ungerska"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "Italienska"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japanska"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Koreanska"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Nederländska"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norska"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polska"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "Portugisiska"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasiliansk)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Ryska"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Thailändska"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Turkiska"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamesiska"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Kinesiska"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Väntar"
@@ -655,7 +656,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:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Sammanfogade lagerposter"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Byggorderreferens"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Del"
@@ -972,42 +973,42 @@ msgstr "Byggutgång är redan slutförd"
msgid "Build output does not match Build Order"
msgstr "Byggutgång matchar inte bygg order"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Byggobjekt måste ange en byggutgång, eftersom huvuddelen är markerad som spårbar"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
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:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Lagerposten är överallokerad"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Allokeringsmängden måste vara större än noll"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Antal måste vara 1 för serialiserat lager"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "Vald lagervara hittades inte i BOM"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Bygg"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Bygg för att allokera delar"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Bygg för att allokera delar"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Artikel i lager"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Källa lagervara"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Källa lagervara"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Antal"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Lagersaldo att allokera för att bygga"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Installera till"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Destination lagervara"
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Plats"
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Status"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Försenad"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Slutförd"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Virtuell"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Bekräfta"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index 17c8b665c6..3b63d3d6b8 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr ""
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr ""
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr ""
@@ -231,11 +231,11 @@ msgstr ""
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr ""
@@ -274,7 +274,7 @@ msgstr ""
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr ""
@@ -295,7 +295,7 @@ msgstr ""
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr ""
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr ""
@@ -325,7 +326,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr ""
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr ""
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr ""
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr ""
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr ""
@@ -655,7 +656,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr ""
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr ""
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr ""
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr ""
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr ""
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr ""
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index 7c5f54e5a2..05e0c9061f 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "API uç noktası bulunamadı"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "Hata detaylarını admin panelinde bulabilirsiniz"
@@ -34,7 +34,7 @@ msgstr "Tarih giriniz"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "Tarih giriniz"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "Notlar"
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "Şifrenizi girin"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "Lütfen Yeni Parolayı Girin"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Parolayı doğrulayın"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Yeni parolayı doğrulayın"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "Eski parola"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "E-posta (tekrar)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "E-posta adresi onayı"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "Her seferind eaynı e-posta adresini yazmalısınız."
@@ -231,11 +231,11 @@ msgstr "Dosya yorumu"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Kullanıcı"
@@ -274,7 +274,7 @@ msgstr "Geçersiz seçim"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "Geçersiz seçim"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "Adı"
@@ -295,7 +295,7 @@ msgstr "Adı"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "Adı"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Açıklama"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "üst"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "Yunanca"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "İspanyolca"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "İspanyolca(Meksika)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "İbranice"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "Macarca"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "İtalyanca"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "Japonca"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "Korece"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "Flemenkçe"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "Norveççe"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "Rusça"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "İsveççe"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "Tay dili"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "Vietnamca"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "Çince"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "Bekliyor"
@@ -655,7 +656,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:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "Stok parçalarını birleştir"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Parça"
@@ -972,42 +973,42 @@ msgstr "Yapım işi çıktısı zaten tamamlanmış"
msgid "Build output does not match Build Order"
msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "Seri numaralı stok için miktar bir olmalı"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "Yapım İşi"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "Yapım işi için tahsis edilen parçalar"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "Stok Kalemi"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "Kaynak stok kalemi"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "Miktar"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "Yapım işi için tahsis edilen stok miktarı"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "Kurulduğu yer"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "Konum"
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Durum"
@@ -1248,8 +1249,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı"
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr "Bu yapım işinin %(target)s tarihinde süresi doluyor"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "Vadesi geçmiş"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Tamamlandı"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr "Kategori Paremetre Sablonu Kopyala"
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "Şablon"
@@ -1950,7 +1951,7 @@ msgstr "Parçaları varsayılan olan şablondur"
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "Montaj"
@@ -1959,7 +1960,7 @@ 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:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "Bileşen"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "Satılabilir"
@@ -1987,7 +1988,7 @@ msgstr "Parçalar varsayılan olarak satılabilir"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "Takip Edilebilir"
@@ -1998,7 +1999,7 @@ msgstr "Parçalar varsayılan olarak takip edilebilir"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "Sanal"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr "Aktif"
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "Parça seçin"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Üretici"
@@ -3123,7 +3124,7 @@ msgstr "Parametre adı"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "Değer"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "Parametre değeri"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Tedarikçi"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "Paketleme"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "Müşteri"
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Stok"
@@ -3715,7 +3716,7 @@ msgstr "Fiyatlandırma"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr ""
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr "DPN"
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "Parça adı"
@@ -4896,7 +4897,7 @@ msgstr "Parça açıklaması"
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
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:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
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:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:3472
+#: part/models.py:3475
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:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr "Seri No"
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ 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:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ 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:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "Onay"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr "doğru"
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr "yanlış"
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr "Detaylar"
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr "Çeşit Stokuna İzin Ver"
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr "Konumları dahil et"
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr "Alt kategorilerdeki parçaları dahil et"
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr "DPN Var"
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr "Arama menüsünü kapat"
msgid "No search results"
msgstr "Arama sonucu yok"
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr "Sunucu"
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index 564713b922..85d7824b4f 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr ""
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -34,7 +34,7 @@ msgstr ""
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr ""
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr ""
@@ -58,35 +58,35 @@ msgstr ""
msgid "Provided value does not match required pattern: "
msgstr ""
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr ""
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr ""
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "Xác nhận mật khẩu"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "Xác nhận mật khẩu mới"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr ""
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr ""
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr ""
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr ""
@@ -231,11 +231,11 @@ msgstr ""
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "Người dùng"
@@ -274,7 +274,7 @@ msgstr ""
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr ""
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr ""
@@ -295,7 +295,7 @@ msgstr ""
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr ""
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "Mô tả"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr ""
@@ -357,7 +358,7 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr ""
@@ -424,107 +425,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr ""
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr ""
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr ""
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr ""
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr ""
@@ -655,7 +656,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr ""
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr ""
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr ""
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "Nguyên liệu"
@@ -972,42 +973,42 @@ msgstr ""
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr ""
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr ""
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr ""
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr ""
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr ""
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr ""
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr ""
@@ -1156,8 +1157,8 @@ msgstr ""
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr ""
@@ -1171,8 +1172,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "Trạng thái"
@@ -1248,8 +1249,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr ""
@@ -1428,16 +1429,16 @@ msgstr ""
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr ""
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "Đã hoàn thành"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr ""
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr ""
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr ""
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr ""
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr ""
@@ -1987,7 +1988,7 @@ msgstr ""
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr ""
@@ -1998,7 +1999,7 @@ msgstr ""
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr ""
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr ""
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "Nhà sản xuất"
@@ -3123,7 +3124,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr ""
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr ""
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "Nhà cung cấp"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr ""
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr ""
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr ""
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr ""
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "Kiện hàng"
@@ -3715,7 +3716,7 @@ msgstr ""
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr ""
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr "Đơn hàng"
@@ -3997,7 +3998,7 @@ msgstr ""
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "Giá mua"
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr ""
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr ""
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr ""
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr ""
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr ""
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr ""
@@ -4896,7 +4897,7 @@ msgstr ""
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr ""
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr ""
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr ""
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr ""
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr ""
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr ""
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr ""
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 2859fc438d..b4c5555a2b 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-01-01 11:05+0000\n"
-"PO-Revision-Date: 2023-01-01 11:26\n"
+"POT-Creation-Date: 2023-01-07 20:52+0000\n"
+"PO-Revision-Date: 2023-01-08 12:23\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -21,7 +21,7 @@ msgstr ""
msgid "API endpoint not found"
msgstr "未找到 API 端点"
-#: InvenTree/exceptions.py:68
+#: InvenTree/exceptions.py:79
msgid "Error details can be found in the admin panel"
msgstr "在管理面板中可以找到错误详细信息"
@@ -34,7 +34,7 @@ msgstr "输入日期"
#: company/templates/company/sidebar.html:25 order/models.py:943
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/so_sidebar.html:17 part/admin.py:27
-#: part/models.py:2932 part/templates/part/part_sidebar.html:62
+#: part/models.py:2935 part/templates/part/part_sidebar.html:62
#: report/templates/report/inventree_build_order_base.html:172
#: stock/admin.py:103 stock/models.py:2061 stock/models.py:2169
#: stock/serializers.py:321 stock/serializers.py:454 stock/serializers.py:535
@@ -45,7 +45,7 @@ msgstr "输入日期"
#: templates/js/translated/order.js:2435 templates/js/translated/order.js:2569
#: templates/js/translated/order.js:3067 templates/js/translated/order.js:4004
#: templates/js/translated/order.js:4385 templates/js/translated/part.js:882
-#: templates/js/translated/stock.js:1412 templates/js/translated/stock.js:2015
+#: templates/js/translated/stock.js:1419 templates/js/translated/stock.js:2023
msgid "Notes"
msgstr "备注"
@@ -58,35 +58,35 @@ msgstr "值 '{name}' 没有以模式格式显示"
msgid "Provided value does not match required pattern: "
msgstr "提供的值与所需模式不匹配: "
-#: InvenTree/forms.py:134
+#: InvenTree/forms.py:135
msgid "Enter password"
msgstr "输入密码"
-#: InvenTree/forms.py:135
+#: InvenTree/forms.py:136
msgid "Enter new password"
msgstr "输入新密码"
-#: InvenTree/forms.py:144
+#: InvenTree/forms.py:145
msgid "Confirm password"
msgstr "确认密码"
-#: InvenTree/forms.py:145
+#: InvenTree/forms.py:146
msgid "Confirm new password"
msgstr "确认新密码"
-#: InvenTree/forms.py:149
+#: InvenTree/forms.py:150
msgid "Old password"
msgstr "旧密码"
-#: InvenTree/forms.py:178
+#: InvenTree/forms.py:179
msgid "Email (again)"
msgstr "Email (再次)"
-#: InvenTree/forms.py:182
+#: InvenTree/forms.py:183
msgid "Email address confirmation"
msgstr "Email 地址确认"
-#: InvenTree/forms.py:203
+#: InvenTree/forms.py:204
msgid "You must type the same email each time."
msgstr "您必须输入相同的 Email 。"
@@ -231,11 +231,11 @@ msgstr "文件注释"
#: InvenTree/models.py:422 InvenTree/models.py:423 common/models.py:1817
#: common/models.py:1818 common/models.py:2041 common/models.py:2042
-#: common/models.py:2303 common/models.py:2304 part/models.py:2940
-#: part/models.py:3026 part/models.py:3046 plugin/models.py:264
+#: common/models.py:2303 common/models.py:2304 part/models.py:2943
+#: part/models.py:3029 part/models.py:3049 plugin/models.py:264
#: plugin/models.py:265
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2684
+#: templates/js/translated/stock.js:2692
msgid "User"
msgstr "用户"
@@ -274,7 +274,7 @@ msgstr "选择无效"
#: InvenTree/models.py:557 InvenTree/models.py:558 common/models.py:2027
#: company/models.py:363 label/models.py:101 part/models.py:810
-#: part/models.py:3201 plugin/models.py:94 report/models.py:152
+#: part/models.py:3204 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
@@ -285,7 +285,7 @@ msgstr "选择无效"
#: templates/js/translated/company.js:794
#: templates/js/translated/notification.js:71
#: templates/js/translated/part.js:982 templates/js/translated/part.js:1151
-#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2429
+#: templates/js/translated/part.js:2291 templates/js/translated/stock.js:2437
msgid "Name"
msgstr "名称"
@@ -295,7 +295,7 @@ msgstr "名称"
#: 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:3210 part/templates/part/category.html:75
+#: part/models.py:3213 part/templates/part/category.html:75
#: 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
@@ -311,8 +311,9 @@ msgstr "名称"
#: templates/js/translated/order.js:2267 templates/js/translated/order.js:2845
#: templates/js/translated/part.js:1044 templates/js/translated/part.js:1494
#: templates/js/translated/part.js:1768 templates/js/translated/part.js:2327
-#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1782
-#: templates/js/translated/stock.js:2461 templates/js/translated/stock.js:2521
+#: templates/js/translated/part.js:2402 templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1790 templates/js/translated/stock.js:2469
+#: templates/js/translated/stock.js:2529
msgid "Description"
msgstr "描述信息"
@@ -325,7 +326,7 @@ msgid "parent"
msgstr "上级项"
#: InvenTree/models.py:580 InvenTree/models.py:581
-#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2470
+#: templates/js/translated/part.js:2336 templates/js/translated/stock.js:2478
msgid "Path"
msgstr "路径"
@@ -357,7 +358,7 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:58 part/models.py:3546
+#: InvenTree/serializers.py:58 part/models.py:3549
msgid "Must be a valid number"
msgstr "必须是有效数字"
@@ -424,107 +425,107 @@ msgstr "远程图像文件的 URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/settings.py:642
+#: InvenTree/settings.py:643
msgid "Czech"
msgstr "捷克语"
-#: InvenTree/settings.py:643
+#: InvenTree/settings.py:644
msgid "Danish"
msgstr "丹麦语"
-#: InvenTree/settings.py:644
+#: InvenTree/settings.py:645
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:645
+#: InvenTree/settings.py:646
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:646
+#: InvenTree/settings.py:647
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:647
+#: InvenTree/settings.py:648
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:648
+#: InvenTree/settings.py:649
msgid "Spanish (Mexican)"
msgstr "西班牙语(墨西哥)"
-#: InvenTree/settings.py:649
+#: InvenTree/settings.py:650
msgid "Farsi / Persian"
msgstr "波斯语"
-#: InvenTree/settings.py:650
+#: InvenTree/settings.py:651
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:651
+#: InvenTree/settings.py:652
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:652
+#: InvenTree/settings.py:653
msgid "Hungarian"
msgstr "匈牙利语"
-#: InvenTree/settings.py:653
+#: InvenTree/settings.py:654
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:654
+#: InvenTree/settings.py:655
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:655
+#: InvenTree/settings.py:656
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:656
+#: InvenTree/settings.py:657
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:657
+#: InvenTree/settings.py:658
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:658
+#: InvenTree/settings.py:659
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:659
+#: InvenTree/settings.py:660
msgid "Portuguese"
msgstr "葡萄牙语"
-#: InvenTree/settings.py:660
+#: InvenTree/settings.py:661
msgid "Portuguese (Brazilian)"
msgstr "葡萄牙语 (巴西)"
-#: InvenTree/settings.py:661
+#: InvenTree/settings.py:662
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:662
+#: InvenTree/settings.py:663
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:663
+#: InvenTree/settings.py:664
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:664
+#: InvenTree/settings.py:665
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:665
+#: InvenTree/settings.py:666
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:666
+#: InvenTree/settings.py:667
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:667
+#: InvenTree/settings.py:668
msgid "Chinese"
msgstr "中文(简体)"
@@ -541,7 +542,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:354
+#: InvenTree/status_codes.py:306 templates/js/translated/table_filters.js:362
msgid "Pending"
msgstr "待定"
@@ -655,7 +656,7 @@ msgstr "从父项拆分"
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2119
+#: InvenTree/status_codes.py:281 templates/js/translated/stock.js:2127
msgid "Merged stock items"
msgstr "合并的库存项目"
@@ -769,7 +770,7 @@ msgid "Build Order Reference"
msgstr "相关生产订单"
#: build/models.py:155 order/models.py:241 order/models.py:651
-#: order/models.py:941 part/admin.py:257 part/models.py:3456
+#: order/models.py:941 part/admin.py:257 part/models.py:3459
#: 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
@@ -797,10 +798,10 @@ msgstr "此次生产匹配的订单"
#: build/models.py:180 build/templates/build/build_base.html:80
#: build/templates/build/detail.html:29 company/models.py:684
#: order/models.py:1038 order/models.py:1149 order/models.py:1150
-#: part/models.py:382 part/models.py:2799 part/models.py:2912
-#: part/models.py:2972 part/models.py:2987 part/models.py:3006
-#: part/models.py:3024 part/models.py:3123 part/models.py:3244
-#: part/models.py:3336 part/models.py:3421 part/models.py:3737
+#: part/models.py:382 part/models.py:2802 part/models.py:2915
+#: part/models.py:2975 part/models.py:2990 part/models.py:3009
+#: part/models.py:3027 part/models.py:3126 part/models.py:3247
+#: part/models.py:3339 part/models.py:3424 part/models.py:3740
#: part/serializers.py:894 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/upload_bom.html:52
@@ -828,9 +829,9 @@ msgstr "此次生产匹配的订单"
#: templates/js/translated/part.js:1479 templates/js/translated/part.js:1551
#: templates/js/translated/part.js:1745 templates/js/translated/pricing.js:102
#: templates/js/translated/stock.js:617 templates/js/translated/stock.js:782
-#: templates/js/translated/stock.js:992 templates/js/translated/stock.js:1738
-#: templates/js/translated/stock.js:2547 templates/js/translated/stock.js:2742
-#: templates/js/translated/stock.js:2879
+#: 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
msgid "Part"
msgstr "商品"
@@ -972,42 +973,42 @@ msgstr "生产产出已完成"
msgid "Build output does not match Build Order"
msgstr "生产产出与订单不匹配"
-#: build/models.py:1177
+#: build/models.py:1180
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "生产项必须指定生产产出,因为主部件已经被标记为可追踪的"
-#: build/models.py:1186
+#: build/models.py:1189
#, python-brace-format
msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})"
-#: build/models.py:1196 order/models.py:1416
+#: build/models.py:1199 order/models.py:1416
msgid "Stock item is over-allocated"
msgstr "库存物品分配过度!"
-#: build/models.py:1202 order/models.py:1419
+#: build/models.py:1205 order/models.py:1419
msgid "Allocation quantity must be greater than zero"
msgstr "分配数量必须大于0"
-#: build/models.py:1208
+#: build/models.py:1211
msgid "Quantity must be 1 for serialized stock"
msgstr "序列化库存的数量必须是 1"
-#: build/models.py:1265
+#: build/models.py:1268
msgid "Selected stock item not found in BOM"
msgstr "在BOM中找不到选定的库存项"
-#: build/models.py:1334 stock/templates/stock/item_base.html:175
+#: build/models.py:1337 stock/templates/stock/item_base.html:175
#: templates/InvenTree/search.html:139 templates/js/translated/build.js:2580
#: templates/navbar.html:38
msgid "Build"
msgstr "生产"
-#: build/models.py:1335
+#: build/models.py:1338
msgid "Build to allocate parts"
msgstr "生产以分配部件"
-#: build/models.py:1351 build/serializers.py:663 order/serializers.py:1032
+#: build/models.py:1354 build/serializers.py:663 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
#: stock/templates/stock/item_base.html:23
@@ -1018,20 +1019,20 @@ msgstr "生产以分配部件"
#: templates/js/translated/order.js:3502 templates/js/translated/order.js:3507
#: templates/js/translated/order.js:3602 templates/js/translated/order.js:3694
#: templates/js/translated/part.js:803 templates/js/translated/stock.js:618
-#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2620
+#: templates/js/translated/stock.js:783 templates/js/translated/stock.js:2628
msgid "Stock Item"
msgstr "库存项"
-#: build/models.py:1352
+#: build/models.py:1355
msgid "Source stock item"
msgstr "源库存项"
-#: build/models.py:1364 build/serializers.py:192
+#: build/models.py:1367 build/serializers.py:192
#: build/templates/build/build_base.html:85
#: build/templates/build/detail.html:34 common/models.py:1849
#: 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:2919 part/models.py:3437
+#: part/forms.py:40 part/models.py:2922 part/models.py:3440
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1063,19 +1064,19 @@ msgstr "源库存项"
#: templates/js/translated/pricing.js:255
#: templates/js/translated/pricing.js:349 templates/js/translated/stock.js:489
#: templates/js/translated/stock.js:643 templates/js/translated/stock.js:813
-#: templates/js/translated/stock.js:2669 templates/js/translated/stock.js:2754
+#: templates/js/translated/stock.js:2677 templates/js/translated/stock.js:2762
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1365
+#: build/models.py:1368
msgid "Stock quantity to allocate to build"
msgstr "分配到生产的数量"
-#: build/models.py:1373
+#: build/models.py:1376
msgid "Install into"
msgstr "安装到"
-#: build/models.py:1374
+#: build/models.py:1377
msgid "Destination stock item"
msgstr "目标库存项"
@@ -1156,8 +1157,8 @@ msgstr "必须提供生产产出列表"
#: templates/js/translated/order.js:3627 templates/js/translated/order.js:3708
#: templates/js/translated/part.js:186 templates/js/translated/part.js:804
#: templates/js/translated/stock.js:619 templates/js/translated/stock.js:784
-#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1890
-#: templates/js/translated/stock.js:2561
+#: templates/js/translated/stock.js:994 templates/js/translated/stock.js:1898
+#: templates/js/translated/stock.js:2569
msgid "Location"
msgstr "地点"
@@ -1171,8 +1172,8 @@ msgstr "已完成生产产出的仓储地点"
#: stock/templates/stock/item_base.html:421
#: templates/js/translated/barcode.js:237 templates/js/translated/build.js:2630
#: templates/js/translated/order.js:1681 templates/js/translated/order.js:2034
-#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1865
-#: templates/js/translated/stock.js:2638 templates/js/translated/stock.js:2770
+#: templates/js/translated/order.js:2850 templates/js/translated/stock.js:1873
+#: templates/js/translated/stock.js:2646 templates/js/translated/stock.js:2778
msgid "Status"
msgstr "状态"
@@ -1248,8 +1249,8 @@ msgstr "所需生产数量尚未完成"
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:595 build/serializers.py:640 part/models.py:3573
-#: part/models.py:3729
+#: build/serializers.py:595 build/serializers.py:640 part/models.py:3576
+#: part/models.py:3732
msgid "BOM Item"
msgstr "BOM项"
@@ -1428,16 +1429,16 @@ msgstr "此次生产的截止日期为 %(target)s"
#: build/templates/build/build_base.html:204
#: order/templates/order/order_base.html:107
#: order/templates/order/sales_order_base.html:94
-#: templates/js/translated/table_filters.js:340
-#: templates/js/translated/table_filters.js:381
-#: templates/js/translated/table_filters.js:411
+#: templates/js/translated/table_filters.js:348
+#: templates/js/translated/table_filters.js:389
+#: templates/js/translated/table_filters.js:419
msgid "Overdue"
msgstr "逾期"
#: build/templates/build/build_base.html:166
#: build/templates/build/detail.html:67 build/templates/build/detail.html:142
#: order/templates/order/sales_order_base.html:171
-#: templates/js/translated/table_filters.js:420
+#: templates/js/translated/table_filters.js:428
msgid "Completed"
msgstr "已完成"
@@ -1493,8 +1494,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:168
#: templates/js/translated/build.js:1250
#: templates/js/translated/model_renderers.js:124
-#: templates/js/translated/stock.js:1060 templates/js/translated/stock.js:1879
-#: templates/js/translated/stock.js:2777
+#: 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
msgid "Batch"
@@ -1937,9 +1938,9 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1014 part/admin.py:41 part/models.py:3246
+#: common/models.py:1014 part/admin.py:41 part/models.py:3249
#: report/models.py:158 templates/js/translated/table_filters.js:38
-#: templates/js/translated/table_filters.js:508
+#: templates/js/translated/table_filters.js:516
msgid "Template"
msgstr "模板"
@@ -1950,7 +1951,7 @@ msgstr ""
#: common/models.py:1021 part/admin.py:37 part/admin.py:262 part/models.py:958
#: templates/js/translated/bom.js:1595
#: templates/js/translated/table_filters.js:196
-#: templates/js/translated/table_filters.js:467
+#: templates/js/translated/table_filters.js:475
msgid "Assembly"
msgstr "组装"
@@ -1959,7 +1960,7 @@ msgid "Parts can be assembled from other components by default"
msgstr ""
#: common/models.py:1028 part/admin.py:38 part/models.py:964
-#: templates/js/translated/table_filters.js:475
+#: templates/js/translated/table_filters.js:483
msgid "Component"
msgstr "组件"
@@ -1976,7 +1977,7 @@ msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
#: common/models.py:1042 part/admin.py:40 part/models.py:980
-#: templates/js/translated/table_filters.js:496
+#: templates/js/translated/table_filters.js:504
msgid "Salable"
msgstr "可销售"
@@ -1987,7 +1988,7 @@ msgstr "商品默认可销售"
#: common/models.py:1049 part/admin.py:42 part/models.py:970
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:120
-#: templates/js/translated/table_filters.js:512
+#: templates/js/translated/table_filters.js:520
msgid "Trackable"
msgstr "可追踪"
@@ -1998,7 +1999,7 @@ msgstr "商品默认可跟踪"
#: common/models.py:1056 part/admin.py:43 part/models.py:990
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:42
-#: templates/js/translated/table_filters.js:516
+#: templates/js/translated/table_filters.js:524
msgid "Virtual"
msgstr "虚拟"
@@ -2804,8 +2805,8 @@ msgstr ""
#: common/models.py:2033 part/admin.py:36 part/models.py:985
#: plugin/models.py:100 templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:116
-#: templates/js/translated/table_filters.js:336
-#: templates/js/translated/table_filters.js:462
+#: templates/js/translated/table_filters.js:344
+#: templates/js/translated/table_filters.js:470
msgid "Active"
msgstr ""
@@ -3050,7 +3051,7 @@ msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
#: company/models.py:153 company/serializers.py:399
-#: company/templates/company/company_base.html:107 part/models.py:2780
+#: company/templates/company/company_base.html:107 part/models.py:2783
#: part/serializers.py:156 part/serializers.py:184 stock/serializers.py:182
#: templates/InvenTree/settings/pricing.html:64
msgid "Currency"
@@ -3078,7 +3079,7 @@ msgstr "选择商品"
#: templates/js/translated/company.js:534
#: templates/js/translated/company.js:669
#: templates/js/translated/company.js:957 templates/js/translated/part.js:241
-#: templates/js/translated/table_filters.js:439
+#: templates/js/translated/table_filters.js:447
msgid "Manufacturer"
msgstr "制造商"
@@ -3123,7 +3124,7 @@ msgstr "参数名称"
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2156 templates/js/translated/company.js:582
#: templates/js/translated/company.js:800 templates/js/translated/part.js:1160
-#: templates/js/translated/stock.js:1398
+#: templates/js/translated/stock.js:1405
msgid "Value"
msgstr "数值"
@@ -3132,7 +3133,7 @@ msgid "Parameter value"
msgstr "参数值"
#: company/models.py:377 part/admin.py:26 part/models.py:952
-#: part/models.py:3206 part/templates/part/part_base.html:286
+#: part/models.py:3209 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings.html:350
#: templates/js/translated/company.js:806 templates/js/translated/part.js:1166
msgid "Units"
@@ -3156,7 +3157,7 @@ msgstr ""
#: templates/js/translated/company.js:930 templates/js/translated/order.js:2017
#: templates/js/translated/part.js:222 templates/js/translated/part.js:1306
#: templates/js/translated/pricing.js:231
-#: templates/js/translated/table_filters.js:443
+#: templates/js/translated/table_filters.js:451
msgid "Supplier"
msgstr "供应商"
@@ -3188,7 +3189,7 @@ msgid "Supplier part description"
msgstr "供应商商品描述"
#: company/models.py:528 company/templates/company/supplier_part.html:181
-#: part/admin.py:258 part/models.py:3459 part/templates/part/upload_bom.html:59
+#: part/admin.py:258 part/models.py:3462 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
@@ -3206,7 +3207,7 @@ msgstr "最低收费(例如库存费)"
#: company/models.py:534 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:2011
+#: templates/js/translated/company.js:992 templates/js/translated/stock.js:2019
msgid "Packaging"
msgstr "打包"
@@ -3323,8 +3324,8 @@ msgstr ""
#: stock/templates/stock/item_base.html:399
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:429 templates/js/translated/order.js:2827
-#: templates/js/translated/stock.js:2602
-#: templates/js/translated/table_filters.js:447
+#: templates/js/translated/stock.js:2610
+#: templates/js/translated/table_filters.js:455
msgid "Customer"
msgstr "客户"
@@ -3561,7 +3562,7 @@ msgstr ""
#: 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:1173
-#: templates/js/translated/stock.js:1969
+#: templates/js/translated/stock.js:1977
msgid "Supplier Part"
msgstr "供应商商品"
@@ -3688,7 +3689,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:47
#: templates/js/translated/part.js:1048 templates/js/translated/part.js:1649
#: templates/js/translated/part.js:1805 templates/js/translated/stock.js:993
-#: templates/js/translated/stock.js:1794 templates/navbar.html:31
+#: templates/js/translated/stock.js:1802 templates/navbar.html:31
msgid "Stock"
msgstr "库存"
@@ -3715,7 +3716,7 @@ msgstr "定价"
#: 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:2479 users/models.py:40
+#: templates/js/translated/stock.js:2487 users/models.py:40
msgid "Stock Items"
msgstr "库存项"
@@ -3825,8 +3826,8 @@ msgstr ""
#: templates/email/overdue_purchase_order.html:15
#: templates/js/translated/order.js:619 templates/js/translated/order.js:1174
#: templates/js/translated/order.js:2001 templates/js/translated/part.js:1283
-#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1949
-#: templates/js/translated/stock.js:2583
+#: templates/js/translated/pricing.js:515 templates/js/translated/stock.js:1957
+#: templates/js/translated/stock.js:2591
msgid "Purchase Order"
msgstr ""
@@ -3997,7 +3998,7 @@ msgstr "供应商商品"
#: order/models.py:1046 order/templates/order/order_base.html:178
#: templates/js/translated/order.js:1679 templates/js/translated/order.js:2404
#: templates/js/translated/part.js:1400 templates/js/translated/part.js:1432
-#: templates/js/translated/table_filters.js:358
+#: templates/js/translated/table_filters.js:366
msgid "Received"
msgstr ""
@@ -4007,7 +4008,7 @@ msgstr ""
#: order/models.py:1054 stock/models.py:800 stock/serializers.py:173
#: stock/templates/stock/item_base.html:189
-#: templates/js/translated/stock.js:2000
+#: templates/js/translated/stock.js:2008
msgid "Purchase Price"
msgstr "采购价格"
@@ -4598,12 +4599,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:19 part/admin.py:252 part/models.py:3340 stock/admin.py:84
+#: part/admin.py:19 part/admin.py:252 part/models.py:3343 stock/admin.py:84
#: templates/js/translated/model_renderers.js:212
msgid "Part ID"
msgstr "商品ID"
-#: part/admin.py:20 part/admin.py:254 part/models.py:3344 stock/admin.py:85
+#: part/admin.py:20 part/admin.py:254 part/models.py:3347 stock/admin.py:85
msgid "Part Name"
msgstr ""
@@ -4613,7 +4614,7 @@ msgstr ""
#: part/admin.py:22 part/models.py:853 part/templates/part/part_base.html:272
#: templates/js/translated/part.js:1034 templates/js/translated/part.js:1762
-#: templates/js/translated/stock.js:1760
+#: templates/js/translated/stock.js:1768
msgid "IPN"
msgstr ""
@@ -4678,11 +4679,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:52 part/models.py:2864
+#: part/admin.py:52 part/models.py:2867
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:53 part/models.py:2870
+#: part/admin.py:53 part/models.py:2873
msgid "Maximum Cost"
msgstr ""
@@ -4722,7 +4723,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:253 part/models.py:3348
+#: part/admin.py:253 part/models.py:3351
msgid "Part IPN"
msgstr ""
@@ -4736,47 +4737,47 @@ msgstr ""
msgid "Maximum Price"
msgstr ""
-#: part/api.py:538
+#: part/api.py:539
msgid "Incoming Purchase Order"
msgstr ""
-#: part/api.py:558
+#: part/api.py:559
msgid "Outgoing Sales Order"
msgstr ""
-#: part/api.py:576
+#: part/api.py:577
msgid "Stock produced by Build Order"
msgstr ""
-#: part/api.py:662
+#: part/api.py:663
msgid "Stock required for Build Order"
msgstr ""
-#: part/api.py:820
+#: part/api.py:821
msgid "Valid"
msgstr ""
-#: part/api.py:821
+#: part/api.py:822
msgid "Validate entire Bill of Materials"
msgstr ""
-#: part/api.py:827
+#: part/api.py:828
msgid "This option must be selected"
msgstr ""
-#: part/api.py:1281
+#: part/api.py:1282
msgid "Must be greater than zero"
msgstr "必须大于0"
-#: part/api.py:1285
+#: part/api.py:1286
msgid "Must be a valid quantity"
msgstr "必须是有效的数量"
-#: part/api.py:1300
+#: part/api.py:1301
msgid "Specify location for initial part stock"
msgstr "指定初始初始商品仓储地点"
-#: part/api.py:1331 part/api.py:1335 part/api.py:1350 part/api.py:1354
+#: part/api.py:1332 part/api.py:1336 part/api.py:1351 part/api.py:1355
msgid "This field is required"
msgstr "此字段为必填"
@@ -4832,7 +4833,7 @@ msgstr ""
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:159 part/models.py:3289 part/templates/part/category.html:16
+#: part/models.py:159 part/models.py:3292 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
@@ -4868,7 +4869,7 @@ msgstr ""
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:809 part/models.py:3345
+#: part/models.py:809 part/models.py:3348
msgid "Part name"
msgstr "商品名称"
@@ -4896,7 +4897,7 @@ msgstr "商品描述"
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:847 part/models.py:3044 part/models.py:3288
+#: part/models.py:847 part/models.py:3047 part/models.py:3291
#: part/templates/part/part_base.html:263
#: templates/InvenTree/settings/settings.html:230
#: templates/js/translated/notification.js:50
@@ -5006,296 +5007,295 @@ msgstr ""
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2781
+#: part/models.py:2784
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2786 templates/js/translated/part.js:806
+#: part/models.py:2789 templates/js/translated/part.js:806
msgid "Updated"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2790
msgid "Timestamp of last pricing update"
msgstr ""
-#: part/models.py:2804
+#: part/models.py:2807
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2808
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2810
+#: part/models.py:2813
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2811
+#: part/models.py:2814
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2816
+#: part/models.py:2819
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2817
+#: part/models.py:2820
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2822
+#: part/models.py:2825
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2823
+#: part/models.py:2826
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2828
+#: part/models.py:2831
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2829
+#: part/models.py:2832
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2834
+#: part/models.py:2837
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2838
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2840
+#: part/models.py:2843
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2841
+#: part/models.py:2844
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2846
+#: part/models.py:2849
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2847
+#: part/models.py:2850
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2855
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2856
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2861
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2862
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2868
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2874
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2879
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2880
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2885
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2886
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2891
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2892
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2897
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2898
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2916
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2920
+#: part/models.py:2923
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2924 part/templates/part/part_scheduling.html:13
+#: part/models.py:2927 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:2043 templates/js/translated/part.js:887
#: templates/js/translated/pricing.js:537
-#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2511
+#: templates/js/translated/pricing.js:658 templates/js/translated/stock.js:2519
msgid "Date"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2928
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2933
+#: part/models.py:2936
msgid "Additional notes"
msgstr ""
-#: part/models.py:2941
+#: part/models.py:2944
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3091
+#: part/models.py:3094
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3108
+#: part/models.py:3111
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3128 templates/js/translated/part.js:2397
-#: templates/js/translated/stock.js:1378
+#: part/models.py:3131 templates/js/translated/part.js:2397
msgid "Test Name"
msgstr ""
-#: part/models.py:3129
+#: part/models.py:3132
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3134
+#: part/models.py:3137
msgid "Test Description"
msgstr ""
-#: part/models.py:3135
+#: part/models.py:3138
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3140 templates/js/translated/part.js:2406
-#: templates/js/translated/table_filters.js:322
+#: part/models.py:3143 templates/js/translated/part.js:2406
+#: templates/js/translated/table_filters.js:330
msgid "Required"
msgstr ""
-#: part/models.py:3141
+#: part/models.py:3144
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3146 templates/js/translated/part.js:2414
+#: part/models.py:3149 templates/js/translated/part.js:2414
msgid "Requires Value"
msgstr ""
-#: part/models.py:3147
+#: part/models.py:3150
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3152 templates/js/translated/part.js:2421
+#: part/models.py:3155 templates/js/translated/part.js:2421
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3153
+#: part/models.py:3156
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3194
+#: part/models.py:3197
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3202
+#: part/models.py:3205
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3206
+#: part/models.py:3209
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3211
+#: part/models.py:3214
msgid "Parameter description"
msgstr ""
-#: part/models.py:3244
+#: part/models.py:3247
msgid "Parent Part"
msgstr ""
-#: part/models.py:3246 part/models.py:3294 part/models.py:3295
+#: part/models.py:3249 part/models.py:3297 part/models.py:3298
#: templates/InvenTree/settings/settings.html:225
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Data"
msgstr ""
-#: part/models.py:3248
+#: part/models.py:3251
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3299 templates/InvenTree/settings/settings.html:234
+#: part/models.py:3302 templates/InvenTree/settings/settings.html:234
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:3300
+#: part/models.py:3303
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3337
+#: part/models.py:3340
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3341
+#: part/models.py:3344
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3349
+#: part/models.py:3352
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3352
+#: part/models.py:3355
msgid "Level"
msgstr ""
-#: part/models.py:3353
+#: part/models.py:3356
msgid "BOM level"
msgstr ""
-#: part/models.py:3422
+#: part/models.py:3425
msgid "Select parent part"
msgstr ""
-#: part/models.py:3430
+#: part/models.py:3433
msgid "Sub part"
msgstr ""
-#: part/models.py:3431
+#: part/models.py:3434
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3437
+#: part/models.py:3440
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3441 part/templates/part/upload_bom.html:58
+#: part/models.py:3444 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:933 templates/js/translated/bom.js:986
#: templates/js/translated/build.js:1868
#: templates/js/translated/table_filters.js:84
@@ -5303,105 +5303,105 @@ msgstr ""
msgid "Optional"
msgstr "可选项"
-#: part/models.py:3442
+#: part/models.py:3445
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3447 templates/js/translated/bom.js:929
+#: part/models.py:3450 templates/js/translated/bom.js:929
#: templates/js/translated/bom.js:995 templates/js/translated/build.js:1859
#: templates/js/translated/table_filters.js:88
msgid "Consumable"
msgstr ""
-#: part/models.py:3448
+#: part/models.py:3451
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3452 part/templates/part/upload_bom.html:55
+#: part/models.py:3455 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3453
+#: part/models.py:3456
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3456
+#: part/models.py:3459
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3459
+#: part/models.py:3462
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "Checksum"
msgstr ""
-#: part/models.py:3461
+#: part/models.py:3464
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3465 part/templates/part/upload_bom.html:57
+#: part/models.py:3468 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1012
#: templates/js/translated/table_filters.js:76
#: templates/js/translated/table_filters.js:108
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:3466
+#: part/models.py:3469
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3471 part/templates/part/upload_bom.html:56
+#: part/models.py:3474 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1004
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3472
+#: part/models.py:3475
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3558 stock/models.py:558
+#: part/models.py:3561 stock/models.py:558
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3567 part/models.py:3569
+#: part/models.py:3570 part/models.py:3572
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3696
+#: part/models.py:3699
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3717
+#: part/models.py:3720
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3730
+#: part/models.py:3733
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3738
+#: part/models.py:3741
msgid "Substitute part"
msgstr ""
-#: part/models.py:3753
+#: part/models.py:3756
msgid "Part 1"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Part 2"
msgstr ""
-#: part/models.py:3757
+#: part/models.py:3760
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3775
+#: part/models.py:3778
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3779
+#: part/models.py:3782
msgid "Duplicate relationship already exists"
msgstr ""
@@ -5665,7 +5665,7 @@ 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:1905
+#: stock/admin.py:107 templates/js/translated/stock.js:1913
msgid "Stocktake"
msgstr ""
@@ -6056,7 +6056,7 @@ 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/stock.js:1935
+#: templates/js/translated/stock.js:1943
msgid "Last Updated"
msgstr ""
@@ -6561,7 +6561,7 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:93
-#: stock/models.py:2144
+#: stock/models.py:2144 templates/js/translated/stock.js:1378
msgid "Test"
msgstr ""
@@ -6586,7 +6586,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
#: stock/admin.py:87 templates/js/translated/part.js:749
#: templates/js/translated/stock.js:641 templates/js/translated/stock.js:811
-#: templates/js/translated/stock.js:2760
+#: templates/js/translated/stock.js:2768
msgid "Serial"
msgstr ""
@@ -6643,7 +6643,7 @@ msgstr ""
#: stock/admin.py:108 stock/models.py:764
#: stock/templates/stock/item_base.html:427
-#: templates/js/translated/stock.js:1919
+#: templates/js/translated/stock.js:1927
msgid "Expiry Date"
msgstr ""
@@ -7058,7 +7058,7 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2907
+#: stock/templates/stock/item.html:152 templates/js/translated/stock.js:2915
msgid "Install Stock Item"
msgstr ""
@@ -7066,7 +7066,7 @@ msgstr ""
msgid "Delete all test results for this stock item"
msgstr ""
-#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1560
+#: stock/templates/stock/item.html:327 templates/js/translated/stock.js:1568
msgid "Add Test Result"
msgstr ""
@@ -7225,7 +7225,7 @@ msgid "This StockItem expired on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:431
-#: templates/js/translated/table_filters.js:289
+#: templates/js/translated/table_filters.js:297
msgid "Expired"
msgstr ""
@@ -7235,7 +7235,7 @@ msgid "This StockItem expires on %(item.expiry_date)s"
msgstr ""
#: stock/templates/stock/item_base.html:433
-#: templates/js/translated/table_filters.js:295
+#: templates/js/translated/table_filters.js:303
msgid "Stale"
msgstr ""
@@ -7572,10 +7572,19 @@ msgstr "标签设置"
msgid "Login Settings"
msgstr ""
-#: templates/InvenTree/settings/login.html:21 templates/account/signup.html:5
+#: templates/InvenTree/settings/login.html:16
+msgid "Outgoing email has not been configured. Some login and sign-up features may not work correctly!"
+msgstr ""
+
+#: templates/InvenTree/settings/login.html:26 templates/account/signup.html:5
+#: templates/socialaccount/signup.html:5
msgid "Signup"
msgstr ""
+#: templates/InvenTree/settings/login.html:34
+msgid "Single Sign On"
+msgstr ""
+
#: templates/InvenTree/settings/mixins/settings.html:5
#: templates/InvenTree/settings/settings.html:12 templates/navbar.html:139
msgid "Settings"
@@ -8216,30 +8225,27 @@ msgstr "确认"
msgid "This email confirmation link expired or is invalid. Please issue a new email confirmation request."
msgstr ""
-#: templates/account/login.html:6 templates/account/login.html:16
-#: templates/account/login.html:43
+#: templates/account/login.html:6 templates/account/login.html:17
+#: templates/account/login.html:38 templates/socialaccount/login.html:4
msgid "Sign In"
msgstr ""
#: templates/account/login.html:21
-#, python-format
-msgid "Please sign in with one\n"
-"of your existing third party accounts or sign up\n"
-"for a account and sign in below:"
+msgid "Not a member?"
msgstr ""
-#: templates/account/login.html:25
-#, python-format
-msgid "If you have not created an account yet, then please\n"
-"sign up first."
+#: templates/account/login.html:23 templates/account/signup.html:11
+#: templates/account/signup.html:22 templates/socialaccount/signup.html:8
+#: templates/socialaccount/signup.html:20
+msgid "Sign Up"
msgstr ""
-#: templates/account/login.html:47
+#: templates/account/login.html:45
msgid "Forgot Password?"
msgstr ""
#: templates/account/login.html:53
-msgid "Sign in using third-party SSO"
+msgid "or log in with"
msgstr ""
#: templates/account/logout.html:5 templates/account/logout.html:8
@@ -8290,10 +8296,6 @@ msgstr ""
msgid "Your password is now changed."
msgstr ""
-#: templates/account/signup.html:11 templates/account/signup.html:22
-msgid "Sign Up"
-msgstr ""
-
#: templates/account/signup.html:13
#, python-format
msgid "Already have an account? Then please sign in."
@@ -8303,6 +8305,21 @@ msgstr ""
msgid "Or use a SSO-provider for signup"
msgstr ""
+#: templates/account/signup_closed.html:5
+#: templates/account/signup_closed.html:8
+msgid "Sign Up Closed"
+msgstr ""
+
+#: templates/account/signup_closed.html:10
+msgid "Sign up is currently closed."
+msgstr ""
+
+#: templates/account/signup_closed.html:15
+#: templates/socialaccount/authentication_error.html:19
+#: templates/socialaccount/login.html:25 templates/socialaccount/signup.html:27
+msgid "Return to login page"
+msgstr ""
+
#: templates/admin_button.html:8
msgid "View in administration panel"
msgstr ""
@@ -9105,8 +9122,8 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2574 templates/js/translated/part.js:1737
-#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1724
-#: templates/js/translated/stock.js:2423
+#: templates/js/translated/part.js:2284 templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:2431
msgid "Select"
msgstr ""
@@ -9118,7 +9135,7 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2690
+#: templates/js/translated/build.js:2652 templates/js/translated/stock.js:2698
msgid "No user information"
msgstr "没有用户信息"
@@ -9265,36 +9282,36 @@ msgid "Delete price break"
msgstr ""
#: templates/js/translated/filters.js:178
-#: templates/js/translated/filters.js:441
+#: templates/js/translated/filters.js:445
msgid "true"
msgstr ""
#: templates/js/translated/filters.js:182
-#: templates/js/translated/filters.js:442
+#: templates/js/translated/filters.js:446
msgid "false"
msgstr ""
-#: templates/js/translated/filters.js:204
+#: templates/js/translated/filters.js:206
msgid "Select filter"
msgstr "选择筛选项"
-#: templates/js/translated/filters.js:288
+#: templates/js/translated/filters.js:292
msgid "Download data"
msgstr ""
-#: templates/js/translated/filters.js:291
+#: templates/js/translated/filters.js:295
msgid "Reload data"
msgstr ""
-#: templates/js/translated/filters.js:295
+#: templates/js/translated/filters.js:299
msgid "Add new filter"
msgstr ""
-#: templates/js/translated/filters.js:298
+#: templates/js/translated/filters.js:302
msgid "Clear all filters"
msgstr ""
-#: templates/js/translated/filters.js:350
+#: templates/js/translated/filters.js:354
msgid "Create filter"
msgstr ""
@@ -9707,7 +9724,7 @@ msgstr ""
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2179
+#: templates/js/translated/order.js:1584 templates/js/translated/stock.js:2187
msgid "Stock Status"
msgstr ""
@@ -9908,7 +9925,7 @@ msgid "Delete Stock Allocation"
msgstr ""
#: templates/js/translated/order.js:3623 templates/js/translated/order.js:3712
-#: templates/js/translated/stock.js:1640
+#: templates/js/translated/stock.js:1648
msgid "Shipped to customer"
msgstr ""
@@ -10133,7 +10150,7 @@ msgid "Copy Bill of Materials"
msgstr ""
#: templates/js/translated/part.js:612 templates/js/translated/part.js:1825
-#: templates/js/translated/table_filters.js:488
+#: templates/js/translated/table_filters.js:496
msgid "Low stock"
msgstr ""
@@ -10214,7 +10231,7 @@ msgid "Allocated to sales orders"
msgstr ""
#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2203
-#: templates/js/translated/stock.js:2382
+#: templates/js/translated/stock.js:2390
msgid "Display as list"
msgstr ""
@@ -10238,7 +10255,7 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2402
+#: templates/js/translated/part.js:2223 templates/js/translated/stock.js:2410
msgid "Display as tree"
msgstr ""
@@ -10259,7 +10276,7 @@ msgid "Edit test result"
msgstr ""
#: templates/js/translated/part.js:2435 templates/js/translated/stock.js:1338
-#: templates/js/translated/stock.js:1598
+#: templates/js/translated/stock.js:1606
msgid "Delete test result"
msgstr ""
@@ -10639,180 +10656,180 @@ msgstr ""
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1416
+#: templates/js/translated/stock.js:1423
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1581
+#: templates/js/translated/stock.js:1589
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1603
+#: templates/js/translated/stock.js:1611
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1632
+#: templates/js/translated/stock.js:1640
msgid "In production"
msgstr "正在生产"
-#: templates/js/translated/stock.js:1636
+#: templates/js/translated/stock.js:1644
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1644
+#: templates/js/translated/stock.js:1652
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1650
+#: templates/js/translated/stock.js:1658
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:1815
+#: templates/js/translated/stock.js:1823
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:1820
+#: templates/js/translated/stock.js:1828
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1823
+#: templates/js/translated/stock.js:1831
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1826
+#: templates/js/translated/stock.js:1834
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1828
+#: templates/js/translated/stock.js:1836
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1830
+#: templates/js/translated/stock.js:1838
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1833
+#: templates/js/translated/stock.js:1841
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1845
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1839
+#: templates/js/translated/stock.js:1847
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1846
+#: templates/js/translated/stock.js:1854
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1848
+#: templates/js/translated/stock.js:1856
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1850
+#: templates/js/translated/stock.js:1858
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1854
+#: templates/js/translated/stock.js:1862
#: templates/js/translated/table_filters.js:216
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1984
+#: templates/js/translated/stock.js:1992
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:2021
+#: templates/js/translated/stock.js:2029
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2194
+#: templates/js/translated/stock.js:2202
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2208
+#: templates/js/translated/stock.js:2216
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2209
+#: templates/js/translated/stock.js:2217
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2441
+#: templates/js/translated/stock.js:2449
msgid "Load Subloactions"
msgstr ""
-#: templates/js/translated/stock.js:2536
+#: templates/js/translated/stock.js:2544
msgid "Details"
msgstr "详情"
-#: templates/js/translated/stock.js:2552
+#: templates/js/translated/stock.js:2560
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2574
+#: templates/js/translated/stock.js:2582
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:2601
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2612
+#: templates/js/translated/stock.js:2620
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2630
+#: templates/js/translated/stock.js:2638
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2653
+#: templates/js/translated/stock.js:2661
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2669
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2737
+#: templates/js/translated/stock.js:2745
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2788 templates/js/translated/stock.js:2824
+#: templates/js/translated/stock.js:2796 templates/js/translated/stock.js:2832
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2840
+#: templates/js/translated/stock.js:2848
msgid "Select stock item to uninstall"
msgstr ""
-#: templates/js/translated/stock.js:2861
+#: templates/js/translated/stock.js:2869
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2862
+#: templates/js/translated/stock.js:2870
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2864
+#: templates/js/translated/stock.js:2872
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2865
+#: templates/js/translated/stock.js:2873
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2866
+#: templates/js/translated/stock.js:2874
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2867
+#: templates/js/translated/stock.js:2875
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2880
+#: templates/js/translated/stock.js:2888
msgid "Select part to install"
msgstr ""
@@ -10837,7 +10854,7 @@ msgid "Allow Variant Stock"
msgstr ""
#: templates/js/translated/table_filters.js:92
-#: templates/js/translated/table_filters.js:520
+#: templates/js/translated/table_filters.js:528
msgid "Has Pricing"
msgstr ""
@@ -10852,12 +10869,12 @@ msgstr ""
#: templates/js/translated/table_filters.js:145
#: templates/js/translated/table_filters.js:146
-#: templates/js/translated/table_filters.js:457
+#: templates/js/translated/table_filters.js:465
msgid "Include subcategories"
msgstr ""
#: templates/js/translated/table_filters.js:154
-#: templates/js/translated/table_filters.js:500
+#: templates/js/translated/table_filters.js:508
msgid "Subscribed"
msgstr ""
@@ -10899,7 +10916,7 @@ msgid "Batch code"
msgstr ""
#: templates/js/translated/table_filters.js:191
-#: templates/js/translated/table_filters.js:429
+#: templates/js/translated/table_filters.js:437
msgid "Active parts"
msgstr ""
@@ -10988,72 +11005,80 @@ msgstr ""
msgid "Show stock items which have a purchase price set"
msgstr ""
-#: templates/js/translated/table_filters.js:290
+#: templates/js/translated/table_filters.js:285
+msgid "Expiry Date before"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:289
+msgid "Expiry Date after"
+msgstr ""
+
+#: templates/js/translated/table_filters.js:298
msgid "Show stock items which have expired"
msgstr ""
-#: templates/js/translated/table_filters.js:296
+#: templates/js/translated/table_filters.js:304
msgid "Show stock which is close to expiring"
msgstr ""
-#: templates/js/translated/table_filters.js:308
+#: templates/js/translated/table_filters.js:316
msgid "Test Passed"
msgstr ""
-#: templates/js/translated/table_filters.js:312
+#: templates/js/translated/table_filters.js:320
msgid "Include Installed Items"
msgstr ""
-#: templates/js/translated/table_filters.js:331
+#: templates/js/translated/table_filters.js:339
msgid "Build status"
msgstr "生产状态"
-#: templates/js/translated/table_filters.js:344
-#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:352
+#: templates/js/translated/table_filters.js:393
msgid "Assigned to me"
msgstr ""
-#: templates/js/translated/table_filters.js:361
-#: templates/js/translated/table_filters.js:372
-#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:369
+#: templates/js/translated/table_filters.js:380
+#: templates/js/translated/table_filters.js:410
msgid "Order status"
msgstr ""
-#: templates/js/translated/table_filters.js:377
-#: templates/js/translated/table_filters.js:394
-#: templates/js/translated/table_filters.js:407
+#: templates/js/translated/table_filters.js:385
+#: templates/js/translated/table_filters.js:402
+#: templates/js/translated/table_filters.js:415
msgid "Outstanding"
msgstr ""
-#: templates/js/translated/table_filters.js:458
+#: templates/js/translated/table_filters.js:466
msgid "Include parts in subcategories"
msgstr ""
-#: templates/js/translated/table_filters.js:463
+#: templates/js/translated/table_filters.js:471
msgid "Show active parts"
msgstr ""
-#: templates/js/translated/table_filters.js:471
+#: templates/js/translated/table_filters.js:479
msgid "Available stock"
msgstr ""
-#: templates/js/translated/table_filters.js:479
+#: templates/js/translated/table_filters.js:487
msgid "Has IPN"
msgstr ""
-#: templates/js/translated/table_filters.js:480
+#: templates/js/translated/table_filters.js:488
msgid "Part has internal part number"
msgstr "商品有内部编号"
-#: templates/js/translated/table_filters.js:484
+#: templates/js/translated/table_filters.js:492
msgid "In stock"
msgstr ""
-#: templates/js/translated/table_filters.js:492
+#: templates/js/translated/table_filters.js:500
msgid "Purchasable"
msgstr ""
-#: templates/js/translated/table_filters.js:504
+#: templates/js/translated/table_filters.js:512
msgid "Has stocktake entries"
msgstr ""
@@ -11199,6 +11224,52 @@ msgstr ""
msgid "No search results"
msgstr ""
+#: templates/socialaccount/authentication_error.html:5
+msgid "Social Network Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:8
+msgid "Account Login Failure"
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:11
+msgid "An error occurred while attempting to login via your social network account."
+msgstr ""
+
+#: templates/socialaccount/authentication_error.html:13
+msgid "Contact your system administrator for further information."
+msgstr ""
+
+#: templates/socialaccount/login.html:8
+#, python-format
+msgid "Connect %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:10
+#, python-format
+msgid "You are about to connect a new third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:12
+#, python-format
+msgid "Sign In Via %(provider)s"
+msgstr ""
+
+#: templates/socialaccount/login.html:14
+#, python-format
+msgid "You are about to sign in using a third party account from %(provider)s."
+msgstr ""
+
+#: templates/socialaccount/login.html:19
+msgid "Continue"
+msgstr ""
+
+#: 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 ""
+
#: templates/stats.html:9
msgid "Server"
msgstr ""