diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index d6d5f24e7c..564e032e84 100644
--- a/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
-"PO-Revision-Date: 2023-04-26 19:59\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
+"PO-Revision-Date: 2023-05-01 10:45\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -25,7 +25,7 @@ msgstr "API endpoint nebyl nalezen"
msgid "User does not have permission to view this model"
msgstr "Uživatel nemá právo zobrazit tento model"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Podrobnosti o chybě lze nalézt v panelu administrace"
@@ -39,9 +39,9 @@ msgstr "Zadejte datum"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -157,12 +157,12 @@ msgstr "Neplatný rozsah skupiny: {g}"
#: InvenTree/helpers.py:702
#, python-brace-format
msgid "Group range {g} exceeds allowed quantity ({q})"
-msgstr ""
+msgstr "Rozsah skupiny {g} překračuje povolené množství ({q})"
#: InvenTree/helpers.py:726 InvenTree/helpers.py:733 InvenTree/helpers.py:748
#, python-brace-format
msgid "Invalid group sequence: {g}"
-msgstr ""
+msgstr "Neplatná sekvence skupiny: {g}"
#: InvenTree/helpers.py:758
msgid "No serial numbers found"
@@ -171,7 +171,7 @@ msgstr "Nenalezena žádná výrobní čísla"
#: InvenTree/helpers.py:761
#, python-brace-format
msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
-msgstr ""
+msgstr "Počet jedinečných sériových čísel ({s}) musí odpovídat množství ({q})"
#: InvenTree/helpers.py:960
msgid "Remove HTML tags from this value"
@@ -179,35 +179,35 @@ msgstr "Odstranit HTML tagy z této hodnoty"
#: InvenTree/models.py:65
msgid "Plugin Metadata"
-msgstr ""
+msgstr "Metadata pluginu"
#: InvenTree/models.py:66
msgid "JSON metadata field, for use by external plugins"
-msgstr ""
+msgstr "Pole metadat JSON pro použití externími pluginy"
#: InvenTree/models.py:297
msgid "Improperly formatted pattern"
-msgstr ""
+msgstr "Nesprávně naformátovaný vzor"
#: InvenTree/models.py:304
msgid "Unknown format key specified"
-msgstr ""
+msgstr "Neznámý formát klíče"
#: InvenTree/models.py:310
msgid "Missing required format key"
-msgstr ""
+msgstr "Chybí požadovaný klíč"
#: InvenTree/models.py:322
msgid "Reference field cannot be empty"
-msgstr ""
+msgstr "Referenční pole nemůže být prázdné"
#: InvenTree/models.py:329
msgid "Reference must match required pattern"
-msgstr ""
+msgstr "Referenční číslo musí odpovídat požadovanému vzoru"
#: InvenTree/models.py:360
msgid "Reference number is too large"
-msgstr ""
+msgstr "Referenční číslo je příliš velké"
#: InvenTree/models.py:442
msgid "Missing file"
@@ -217,7 +217,7 @@ msgstr "Chybějící soubor"
msgid "Missing external link"
msgstr "Chybějící externí odkaz"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Vyberte soubor k přiložení"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Vyberte soubor k přiložení"
msgid "Link"
msgstr "Odkaz"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
@@ -259,8 +259,8 @@ msgstr "Komentář k souboru"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Neplatný výběr"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Neplatný výběr"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Název"
@@ -328,8 +328,8 @@ msgstr "Název"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Název"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "nadřazený"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Cesta"
@@ -400,12 +400,12 @@ msgstr "Chyba serveru"
msgid "An error has been logged by the server."
msgstr "Server zaznamenal chybu."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "URL souboru vzdáleného obrázku"
msgid "Downloading images from remote URL is not enabled"
msgstr "Stahování obrázků ze vzdálené URL není povoleno"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Čeština"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Dánština"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Němčina"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Řečtina"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Angličtina"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Španělština"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Španělština (Mexiko)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Perština"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francouzština"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebrejština"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Maďarština"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italština"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japonština"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Korejština"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Nizozemština"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norština"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polština"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugalština"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugalština (Brazilská)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Ruština"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Slovinština"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Švédština"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thajština"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turečtina"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamština"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Čínština"
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Externí odkaz"
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Možné zakoupit"
@@ -2225,7 +2225,7 @@ msgstr "Možné zakoupit"
msgid "Parts are purchaseable by default"
msgstr "Díly jsou zakoupitelné ve výchozím nastavení"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Prodejné"
@@ -2234,7 +2234,7 @@ msgstr "Prodejné"
msgid "Parts are salable by default"
msgstr "Díly jsou prodejné ve výchozím nastavení"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Sledovatelné"
msgid "Parts are trackable by default"
msgstr "Díly jsou sledovatelné ve výchozím nastavení"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Cena"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Obrazek"
@@ -3313,28 +3314,28 @@ msgstr "Obrazek"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr "Společnost"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Název parametru"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Hodnota"
msgid "Parameter value"
msgstr "Hodnota parametru"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr "Smazat obrázek"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,76 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
diff --git a/InvenTree/locale/da/LC_MESSAGES/django.po b/InvenTree/locale/da/LC_MESSAGES/django.po
index 06680e7c8b..097804ef5c 100644
--- a/InvenTree/locale/da/LC_MESSAGES/django.po
+++ b/InvenTree/locale/da/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Danish\n"
@@ -25,7 +25,7 @@ msgstr "API endpoint ikke fundet"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Fejloplysninger kan findes i admin panelet"
@@ -39,9 +39,9 @@ msgstr "Angiv dato"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Manglende fil"
msgid "Missing external link"
msgstr "Manglende eksternt link"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Vælg fil, der skal vedhæftes"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Vælg fil, der skal vedhæftes"
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link til ekstern URL"
@@ -259,8 +259,8 @@ msgstr "Fil kommentar"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Ugyldigt valg"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Ugyldigt valg"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Navn"
@@ -328,8 +328,8 @@ msgstr "Navn"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Navn"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "overordnet"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Sti"
@@ -400,12 +400,12 @@ msgstr "Serverfejl"
msgid "An error has been logged by the server."
msgstr "En fejl blev logget af serveren."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Skal være et gyldigt tal"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tjekkisk"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Græsk"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spansk (Mexikansk)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Hollandsk"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasilien)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Slovensk"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Kinesisk"
@@ -854,7 +854,7 @@ msgstr "Produktionsordre reference"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Produktionsordre som er tildelt denne produktion"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Produktions statuskode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batch Kode"
@@ -994,7 +994,7 @@ msgstr "Batch Kode"
msgid "Batch code for this build output"
msgstr "Batch kode til dette produktions output"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Bruger som udstedte denne byggeordre"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Ekstern link"
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN skal matche regex mønster {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "Ingen serienumre fundet"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index 65ff9419d3..eca7257956 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: German\n"
@@ -25,7 +25,7 @@ msgstr "API-Endpunkt nicht gefunden"
msgid "User does not have permission to view this model"
msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Fehlerdetails finden Sie im Admin-Panel"
@@ -39,9 +39,9 @@ msgstr "Datum eingeben"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Fehlende Datei"
msgid "Missing external link"
msgstr "Fehlender externer Link"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Datei zum Anhängen auswählen"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Datei zum Anhängen auswählen"
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
@@ -259,8 +259,8 @@ msgstr "Datei-Kommentar"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Ungültige Auswahl"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Ungültige Auswahl"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Name"
@@ -328,8 +328,8 @@ msgstr "Name"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Name"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "Eltern"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Pfad"
@@ -400,12 +400,12 @@ msgstr "Serverfehler"
msgid "An error has been logged by the server."
msgstr "Ein Fehler wurde vom Server protokolliert."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tschechisch"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Dänisch"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Deutsch"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Griechisch"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Englisch"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spanisch"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spanisch (Mexikanisch)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Persisch"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Französisch"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebräisch"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Ungarisch"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italienisch"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japanisch"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreanisch"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Niederländisch"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norwegisch"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polnisch"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugiesisch"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugiesisch (Brasilien)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Slowenisch"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Schwedisch"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thailändisch"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Türkisch"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamesisch"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Chinesisch"
@@ -854,7 +854,7 @@ msgstr "Bauauftragsreferenz"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Bau-Statuscode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Losnummer"
@@ -994,7 +994,7 @@ msgstr "Losnummer"
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Externer Link"
@@ -1143,7 +1143,7 @@ msgstr "Quell-Lagerartikel"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Quell-Lagerartikel"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Menge der Endprodukte angeben"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1376,8 +1376,8 @@ msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Stücklisten-Position"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Fertig"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Kategorie-Parametervorlage kopieren"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Vorlage"
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Baugruppe"
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Komponente"
@@ -2217,7 +2217,7 @@ msgstr "Komponente"
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Kaufbar"
@@ -2225,7 +2225,7 @@ msgstr "Kaufbar"
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Verkäuflich"
@@ -2234,7 +2234,7 @@ msgstr "Verkäuflich"
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Nachverfolgbar"
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr "Maximale Länge der Zeichenketten, die in Tabellenansichten angezeigt we
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Preis"
@@ -3203,7 +3204,7 @@ msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr "Gelesen"
msgid "Was this news item read?"
msgstr "Wurde diese Nachricht gelesen?"
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Bild"
@@ -3313,28 +3314,28 @@ msgstr "Bild"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr "Neue {verbose_name}"
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "Eine neue Bestellung wurde erstellt und Ihnen zugewiesen"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Artikel erhalten"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Artikel wurden aus einer Bestellung erhalten"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Fehler in Plugin aufgetreten"
@@ -3469,7 +3470,7 @@ msgstr "Standard-Währung für diese Firma"
msgid "Company"
msgstr "Firma"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Parametername"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Wert"
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "Zuliefererbeschreibung des Teils"
msgid "Note"
msgstr "Notiz"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "Packmenge"
msgid "Unit quantity supplied in a single pack"
msgstr "Stückmenge in einer einzelnen Verpackungseinheit"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "Vielfache"
@@ -3725,8 +3726,8 @@ msgstr "Bild löschen"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr "Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Teile-Abfragefilter (kommagetrennte Liste mit Schlüssel=Wert-Paaren)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Gesamtpreis"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr "Keine passende Bestellung gefunden"
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr "Keine passende Bestellung gefunden"
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Unbekannt"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Gesamtpreis"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr "Gesamtpreis für diese Bestellung"
@@ -4419,7 +4421,7 @@ msgstr "Empfangen"
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,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:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "Teil-ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "Name des Teils"
@@ -5157,19 +5159,19 @@ msgstr "Name des Teils"
msgid "Part Description"
msgstr "Beschreibung des Teils"
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Version"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Schlüsselwörter"
@@ -5190,11 +5192,11 @@ msgstr "Standard-Standortnummer"
msgid "Default Supplier ID"
msgstr "Standard-Lieferantennummer"
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante von"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
@@ -5226,11 +5228,11 @@ msgstr "Zugeordnet"
msgid "Building"
msgstr "Im Bau"
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Minimale Kosten"
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Maximale Kosten"
@@ -5247,13 +5249,13 @@ msgstr "Name des übergeordneten Teils"
msgid "Category Path"
msgstr "Pfad zur Kategorie"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Teile"
@@ -5270,7 +5272,7 @@ msgstr "Stücklisten-Position ID"
msgid "Parent IPN"
msgstr "Übergeordnete IPN"
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr "Teil IPN"
@@ -5312,7 +5314,7 @@ msgstr "Gesamte Stückliste validieren"
msgid "This option must be selected"
msgstr "Diese Option muss ausgewählt werden"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Standard-Lagerort"
@@ -5330,7 +5332,7 @@ msgstr "Verfügbarer Bestand"
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
@@ -5341,95 +5343,95 @@ msgstr "Teil-Kategorie"
msgid "Part Categories"
msgstr "Teil-Kategorien"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Standard-Lagerort für Teile dieser Kategorie"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Strukturell"
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Teile können nicht direkt einer strukturellen Kategorie zugeordnet werden, können aber untergeordneten Kategorien zugeordnet werden."
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Standard Stichwörter"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "Symbol"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "Symbol (optional)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Sie können diese Teilekategorie nicht als strukturell festlegen, da ihr bereits Teile zugewiesen sind!"
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN muss zu Regex-Muster {pat} passen"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr "Ein Lagerartikel mit dieser Seriennummer existiert bereits"
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Teil mit diesem Namen, IPN und Revision existiert bereits."
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Strukturellen Teilekategorien können keine Teile zugewiesen werden!"
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr "Maßeinheit für diesen Teil"
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ist dieses Teil virtuell, wie zum Beispiel eine Software oder Lizenz?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr "Benutzer, der für diesen Teil verantwortlich ist"
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Letzte Inventur"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr "Währung für die Berechnung der Preise im Cache"
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr "Minimale Stücklisten Kosten"
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr "Minimale Kosten für Teile"
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr "Maximale Stücklisten Kosten"
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr "Maximale Kosten für Teile"
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "Minimale Einkaufskosten"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr "Minimale historische Kaufkosten"
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr "Maximale Einkaufskosten"
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr "Maximale historische Einkaufskosten"
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr "Minimaler interner Preis"
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr "Minimale Kosten basierend auf den internen Staffelpreisen"
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr "Maximaler interner Preis"
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr "Maximale Kosten basierend auf internen Preisstaffeln"
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr "Minimaler Lieferantenpreis"
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr "Mindestpreis für Teil von externen Lieferanten"
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr "Maximaler Lieferantenpreis"
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr "Maximaler Preis für Teil von externen Lieferanten"
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr "Minimale Variantenkosten"
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr "Berechnete minimale Kosten für Variantenteile"
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr "Maximale Variantenkosten"
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr "Berechnete maximale Kosten für Variantenteile"
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr "Berechnete Mindestkosten"
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr "Berechnete Maximalkosten"
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr "Mindestverkaufspreis"
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr "Mindestverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr "Maximaler Verkaufspreis"
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr "Maximalverkaufspreis basierend auf Staffelpreisen"
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr "Mindestverkaufskosten"
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr "Minimaler historischer Verkaufspreis"
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr "Maximale Verkaufskosten"
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr "Maximaler historischer Verkaufspreis"
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr "Teil für die Inventur"
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr "Stückzahl"
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur"
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur"
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur"
msgid "Date"
msgstr "Datum"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr "Datum der Inventur"
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "Zusätzliche Notizen"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr "Benutzer, der diese Inventur durchgeführt hat"
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr "Mindestbestandswert"
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr "Geschätzter Mindestwert des vorhandenen Bestands"
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr "Maximaler Bestandswert"
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr "Geschätzter Maximalwert des vorhandenen Bestands"
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr "Bericht"
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr "Inventur-Berichtsdatei (intern generiert)"
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr "Anzahl der Teile"
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr "Anzahl der Teile, die von der Inventur abgedeckt werden"
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr "Benutzer, der diesen Inventurbericht angefordert hat"
-#: part/models.py:3220
+#: part/models.py:3222
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:3237
+#: part/models.py:3239
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:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:3276
+#: part/models.py:3278
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:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:3282
+#: part/models.py:3284
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:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr "Parameter-Beschreibung"
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Wert"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Stufe"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
msgid "Optional"
msgstr "Optional"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Verbrauchsmaterial"
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Diese Stücklisten-Position ist ein Verbrauchsartikel (sie wird nicht in Bauaufträgen verfolgt)"
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "überprüft"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr "Diese Stücklistenposition wurde validiert"
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Wird vererbt"
-#: part/models.py:3619
+#: part/models.py:3621
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:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:3625
+#: part/models.py:3627
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:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt werden"
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr "Doppelte Beziehung existiert bereits"
@@ -7295,7 +7297,7 @@ msgstr "Summe"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr "Testergebnisse"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Ergebnis"
@@ -7390,7 +7392,7 @@ msgstr "Lieferant"
msgid "Customer ID"
msgstr "Kunden ID"
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "verbaut in"
@@ -7415,7 +7417,7 @@ msgstr "Überprüfung erforderlich"
msgid "Delete on Deplete"
msgstr "Löschen wenn leer"
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr "Gültiges Teil muss angegeben werden"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden"
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Bestand-Lagerort"
msgid "Stock Locations"
msgstr "Bestand-Lagerorte"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Besitzer"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Besitzer auswählen"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Lagerartikel können nicht direkt an einen strukturellen Lagerort verlegt werden, können aber an einen untergeordneten Lagerort verlegt werden."
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Extern"
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr "Dies ist ein externer Lagerort"
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Sie können diesen Lagerort nicht als strukturell markieren, da sich bereits Lagerartikel darin befinden!"
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!"
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden"
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Teile-Typ ('{pf}') muss {pe} sein"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "Anzahl muss für Objekte mit Seriennummer 1 sein"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Seriennummer kann nicht gesetzt werden wenn die Anzahl größer als 1 ist"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr "Teil kann nicht zu sich selbst gehören"
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr "Teil muss eine Referenz haben wenn is_building wahr ist"
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr "Referenz verweist nicht auf das gleiche Teil"
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Eltern-Lagerartikel"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Basis-Teil"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr "Die Verpackung dieses Lagerartikel ist gelagert in"
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr "Ist dieses Teil in einem anderen verbaut?"
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Seriennummer für dieses Teil"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Losnummer für diesen Lagerartikel"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Bestand"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Quellbau"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr "Bauauftrag für diesen Lagerartikel"
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Quelle Bestellung"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Bestellung für diesen Lagerartikel"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Ablaufdatum für Lagerartikel. Bestand wird danach als abgelaufen gekennzeichnet"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Löschen wenn leer"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Diesen Lagerartikel löschen wenn der Bestand aufgebraucht ist"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr "Preis für eine Einheit bei Einkauf"
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr "In Teil umgewandelt"
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "Teil ist nicht verfolgbar"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "Anzahl muss eine Ganzzahl sein"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Anzahl darf nicht die verfügbare Anzahl überschreiten ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "Seriennummern muss eine Liste von Ganzzahlen sein"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "Anzahl stimmt nicht mit den Seriennummern überein"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "Artikel wurde einem Kundenauftrag zugewiesen"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr "Lagerartikel ist in anderem Element verbaut"
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr "Lagerartikel enthält andere Artikel"
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr "Artikel wurde einem Kunden zugewiesen"
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr "Lagerartikel wird aktuell produziert"
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr "Lagerartikel müssen auf dasselbe Teil verweisen"
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen"
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr "Status-Codes müssen zusammenpassen"
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagerartikel kann nicht bewegt werden, da kein Bestand vorhanden ist"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Eintrags-Notizen"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Wert muss für diesen Test angegeben werden"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr "Anhang muss für diesen Test hochgeladen werden"
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Name des Tests"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr "Testergebnis"
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr "Test Ausgabe Wert"
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr "Test Ergebnis Anhang"
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr "Test Notizen"
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr "Klicken Sie auf den folgenden Link, um diesen Teil anzuzeigen"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Mindestmenge"
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr "Auswählen"
@@ -10682,7 +10684,7 @@ msgstr "Keine Teile gefunden"
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Listenansicht"
@@ -10707,72 +10709,78 @@ msgstr "Teil-Kategorie wählen"
msgid "Category is required"
msgstr "Kategorie erforderlich"
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "Keine Aufträge gefunden"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Baumansicht"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr "Unterkategorien laden"
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr "Abonnierte Kategorie"
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr "Kein Datum angegeben"
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr "Das angegebene Datum liegt in der Vergangenheit"
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr "Spekulativ"
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr "Keine Zeitplanung für dieses Teil vorhanden"
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr "Fehler beim Abrufen der Zeitplanungsinformationen für dieses Teil"
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr "Geplante Lagermengen"
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr "Maximale Anzahl"
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr "Minimaler Lagerbestand"
@@ -12163,9 +12171,11 @@ msgstr "Weiter"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
-msgstr "Sie sind dabei, Ihr %(provider_name)s Konto zu verwenden, um sich bei\n"
+msgstr ""
+"Sie sind dabei, Ihr %(provider_name)s Konto zu verwenden, um sich bei\n"
"%(site_name)s anzumelden.
Als letzten Schritt füllen Sie bitte folgendes Formular aus:"
#: templates/stats.html:13
@@ -12343,4 +12353,3 @@ msgstr "Berechtigungen Einträge zu ändern"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Berechtigung Einträge zu löschen"
-
diff --git a/InvenTree/locale/el/LC_MESSAGES/django.po b/InvenTree/locale/el/LC_MESSAGES/django.po
index 078708c58d..e3f1f3a22b 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
@@ -25,7 +25,7 @@ msgstr "Το API endpoint δε βρέθηκε"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Μπορείτε να βρείτε λεπτομέρειες σφάλματος στον πίνακα διαχείρισης"
@@ -39,9 +39,9 @@ msgstr "Εισάγετε ημερομηνία"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Το αρχείο λείπει"
msgid "Missing external link"
msgstr "Λείπει ο εξωτερικός σύνδεσμος"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Επιλέξτε αρχείο για επισύναψη"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Επιλέξτε αρχείο για επισύναψη"
msgid "Link"
msgstr "Σύνδεσμος"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL"
@@ -259,8 +259,8 @@ msgstr "Σχόλιο αρχείου"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Μη έγκυρη επιλογή"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Μη έγκυρη επιλογή"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Όνομα"
@@ -328,8 +328,8 @@ msgstr "Όνομα"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Όνομα"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "γονέας"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Μονοπάτι"
@@ -400,12 +400,12 @@ msgstr "Σφάλμα διακομιστή"
msgid "An error has been logged by the server."
msgstr "Ένα σφάλμα έχει καταγραφεί από το διακομιστή."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Πρέπει να είναι αριθμός"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "Διεύθυνση URL του αρχείου απομακρυσμένη
msgid "Downloading images from remote URL is not enabled"
msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Τσέχικα"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Γερμανικά"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Ελληνικά"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Αγγλικά"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Ισπανικά"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Ισπανικά (Μεξικό)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Φαρσί / Περσικά"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Γαλλικά"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Εβραϊκά"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Ούγγρικα"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Ιταλικά"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Ιαπωνικά"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Κορεάτικα"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Dutch"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Νορβηγικά"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Πολωνικά"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Πορτογαλικά"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Πορτογαλικά (Βραζιλίας)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Ρωσικά"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Σουηδικά"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Ταϊλανδέζικα"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Τούρκικα"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Βιετναμέζικα"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Κινέζικα"
@@ -854,7 +854,7 @@ msgstr "Αναφορά Παραγγελίας Κατασκευής"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "BuildOrder στην οποία έχει δοθεί αυτή η κατα
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Κωδικός κατάστασης κατασκευής"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Κωδικός Παρτίδας"
@@ -994,7 +994,7 @@ msgstr "Κωδικός Παρτίδας"
msgid "Batch code for this build output"
msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελ
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Εξωτερικοί σύνδεσμοι"
@@ -1143,7 +1143,7 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Στοιχείο πηγαίου αποθέματος"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Εισάγετε ποσότητα για την έξοδο κατασκ
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0"
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "Το IPN πρέπει να ταιριάζει με το μοτίβο regex {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "Δεν βρέθηκαν σειριακοί αριθμοί"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index 51e2ea7289..dc65f15b57 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 13:19+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -26,7 +26,7 @@ msgstr ""
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -40,9 +40,9 @@ msgstr ""
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -218,7 +218,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -231,7 +231,7 @@ msgstr ""
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -244,8 +244,8 @@ msgstr ""
msgid "Link"
msgstr ""
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr ""
@@ -260,8 +260,8 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -306,8 +306,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -318,7 +318,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr ""
@@ -329,8 +329,8 @@ msgstr ""
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -345,7 +345,7 @@ msgstr ""
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -365,7 +365,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -401,12 +401,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr ""
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -479,107 +479,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr ""
@@ -855,7 +855,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -885,10 +885,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -987,7 +987,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -995,7 +995,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1031,7 +1031,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1048,7 +1048,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1144,7 +1144,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1166,7 +1166,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1225,7 +1225,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1377,8 +1377,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1619,7 +1619,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2188,7 +2188,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2198,7 +2198,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2209,7 +2209,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2226,7 +2226,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2235,7 +2235,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2246,7 +2246,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3181,9 +3181,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3204,7 +3205,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3306,7 +3307,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3314,28 +3315,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3470,7 +3471,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3532,7 +3533,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3542,8 +3543,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3601,7 +3602,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3610,16 +3611,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3646,7 +3647,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3726,8 +3727,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4006,7 +4007,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4203,11 +4204,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4221,18 +4231,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4420,7 +4422,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5144,12 +5146,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5158,19 +5160,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5191,11 +5193,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5227,11 +5229,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5248,13 +5250,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5271,7 +5273,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5313,7 +5315,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5331,7 +5333,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5342,95 +5344,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5438,249 +5440,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5693,181 +5695,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5875,113 +5877,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7296,7 +7298,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7318,12 +7320,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7391,7 +7393,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7416,7 +7418,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7438,7 +7440,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7450,239 +7452,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9296,7 +9298,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9970,7 +9972,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10683,7 +10685,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10708,72 +10710,76 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 0ba3037054..934dd90ae4 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 20:00\n"
"Last-Translator: \n"
"Language-Team: Spanish, Mexico\n"
@@ -25,7 +25,7 @@ msgstr "endpoint API no encontrado"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Detalles del error pueden encontrarse en el panel de administración"
@@ -39,9 +39,9 @@ msgstr "Ingrese la fecha"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Archivo no encontrado"
msgid "Missing external link"
msgstr "Falta enlace externo"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Seleccionar archivo para adjuntar"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Seleccionar archivo para adjuntar"
msgid "Link"
msgstr "Enlace"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Enlace a URL externa"
@@ -259,8 +259,8 @@ msgstr "Comentario del archivo"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Selección no válida"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Selección no válida"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Nombre"
@@ -328,8 +328,8 @@ msgstr "Nombre"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Nombre"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "padre"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Ruta"
@@ -400,12 +400,12 @@ msgstr "Error de servidor"
msgid "An error has been logged by the server."
msgstr "Se ha registrado un error por el servidor."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Debe ser un numero valido"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Checo"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Danés"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Alemán"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Griego"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Inglés"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Español"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Español (México)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Persa"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francés"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebreo"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japonés"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Holandés"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Noruego"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polaco"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugués"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugués (Brasileño)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Ruso"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Esloveno"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Sueco"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Tailandés"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Chino"
@@ -854,7 +854,7 @@ msgstr "Número de orden de construcción o armado"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Orden de Construcción o Armado a la que se asigna"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Código de estado de construcción"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Numero de lote"
@@ -994,7 +994,7 @@ msgstr "Numero de lote"
msgid "Batch code for this build output"
msgstr "Número de lote de este producto final"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "El usuario que emitió esta orden"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Link externo"
@@ -1143,7 +1143,7 @@ msgstr "Producto original de stock"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Producto original de stock"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Ingrese la cantidad para la producción de la construcción"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "La cantidad debe ser mayor que cero"
@@ -1376,8 +1376,8 @@ msgstr "La cantidad de construcción requerida aún no se ha completado"
msgid "Build order has incomplete outputs"
msgstr "El orden de construcción tiene salidas incompletas"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Item de Lista de Materiales"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Completados"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Copiar plantillas de parámetros de categoría"
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar plantillas de parámetros de categoría al crear una parte"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Plantilla"
msgid "Parts are templates by default"
msgstr "Las piezas son plantillas por defecto"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Montaje"
msgid "Parts can be assembled from other components by default"
msgstr "Las piezas pueden ser ensambladas desde otros componentes por defecto"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Componente"
@@ -2217,7 +2217,7 @@ msgstr "Componente"
msgid "Parts can be used as sub-components by default"
msgstr "Las piezas pueden ser usadas como subcomponentes por defecto"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Comprable"
@@ -2225,7 +2225,7 @@ msgstr "Comprable"
msgid "Parts are purchaseable by default"
msgstr "Las piezas son comprables por defecto"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendible"
@@ -2234,7 +2234,7 @@ msgstr "Vendible"
msgid "Parts are salable by default"
msgstr "Las piezas se pueden vender por defecto"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Rastreable"
msgid "Parts are trackable by default"
msgstr "Las piezas son rastreables por defecto"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr "Cantidad de salto de precio"
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Precio"
@@ -3203,7 +3204,7 @@ msgstr "Punto final en el que se recibe este webhook"
msgid "Name for this webhook"
msgstr "Nombre para este webhook"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Imágen"
@@ -3313,28 +3314,28 @@ msgstr "Imágen"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Artículos Recibidos"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Error generado por el complemento"
@@ -3469,7 +3470,7 @@ msgstr "Moneda predeterminada utilizada para esta empresa"
msgid "Company"
msgstr "Empresa"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Nombre del parámetro"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Valor"
msgid "Parameter value"
msgstr "Valor del parámetro"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "Descripción de la parte del proveedor"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "Descripción de la parte del proveedor"
msgid "Note"
msgstr "Nota"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "costo base"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "Cantidad de paquete"
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "múltiple"
@@ -3725,8 +3726,8 @@ msgstr "Borrar imagen"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr "Crear filtros de consulta (lista separada por comas de pares clave=valor
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Filtros de búsqueda de partes (valor separado por comas de pares clave=valor)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Precio Total"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr "Orden de compra"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Desconocido"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Precio Total"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr "Recibido"
msgid "Number of items received"
msgstr "Número de artículos recibidos"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,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:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID de Parte"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Revisión"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Palabras claves"
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante de"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Stock mínimo"
@@ -5226,11 +5228,11 @@ msgstr "Asignadas"
msgid "Building"
msgstr "En construcción"
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr "Ruta de Categoría"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Partes"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr "Validación de Lista de Materiales"
msgid "This option must be selected"
msgstr "Esta opción debe ser seleccionada"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Ubicación Predeterminada"
@@ -5330,7 +5332,7 @@ msgstr "Stock Disponible"
msgid "Input quantity for price calculation"
msgstr "Cantidad de entrada para el cálculo del precio"
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoría de parte"
@@ -5341,95 +5343,95 @@ msgstr "Categoría de parte"
msgid "Part Categories"
msgstr "Categorías de parte"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Ubicación predeterminada para partes de esta categoría"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Estructural"
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Palabras clave predeterminadas"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Palabras clave por defecto para partes en esta categoría"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "Icono"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "Icono (opcional)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Opción no válida para la parte principal"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "La parte '{p1}' se utiliza en BOM para '{p2}' (recursivo)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "El IPN debe coincidir con la expresión regular {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN duplicado no permitido en la configuración de partes"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Nombre de la pieza"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Es plantilla"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "¿Es esta parte una parte de la plantilla?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "¿Es esta parte una variante de otra parte?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
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:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued
msgid "Category"
msgstr "Categoría"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Categoría de parte"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Número de parte interna"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Revisión de parte o número de versión"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "¿Dónde se almacena este elemento normalmente?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Proveedor por defecto"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Parte de proveedor predeterminada"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Expiración por defecto"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr "Tiempo de expiración (en días) para los artículos de stock de esta parte"
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Nivel mínimo de stock permitido"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "¿Se puede construir esta pieza a partir de otras piezas?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "¿Se puede utilizar esta pieza para construir otras partes?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "¿Esta parte tiene seguimiento de objetos únicos?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "¿Se puede comprar esta pieza a proveedores externos?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "¿Se puede vender esta pieza a los clientes?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "¿Está activa esta parte?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "¿Es ésta una parte virtual, como un producto de software o una licencia?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr "Suma de control BOM almacenada"
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr "BOM comprobado por"
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr "Fecha BOM comprobada"
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Creación de Usuario"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Último inventario"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Vender múltiples"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "Costo mínimo de compra"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr "Costo mínimo de variante"
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr "Coste mínimo calculado de las partes variantes"
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr "Costo máximo de variante"
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr "Fecha"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "Notas adicionales"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
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:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr "Ya existe una prueba con este nombre para esta parte"
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Nombre de prueba"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr "Introduzca un nombre para la prueba"
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Descripción de prueba"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Introduce la descripción para esta prueba"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "¿Es necesario pasar esta prueba?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Requiere valor"
-#: part/models.py:3276
+#: part/models.py:3278
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:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Adjunto obligatorio"
-#: part/models.py:3282
+#: part/models.py:3284
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:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "El nombre de parámetro en la plantilla tiene que ser único"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Nombre de Parámetro"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Unidad del Parámetro"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Parte principal"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Plantilla de parámetro"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Datos"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Valor del parámetro"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valor predeterminado"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Valor de parámetro por defecto"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Nivel"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Seleccionar parte principal"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Sub parte"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Seleccionar parte a utilizar en BOM"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr "Cantidad del artículo en BOM"
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr "Cantidad del artículo en BOM"
msgid "Optional"
msgstr "Opcional"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Este elemento BOM es opcional"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Consumible"
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Exceso"
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Cantidad estimada de desperdicio de construcción (absoluta o porcentaje)"
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr "Referencia de artículo de BOM"
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Notas del artículo de BOM"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr "Suma de comprobación de la línea en BOM"
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Validado"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
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:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Permitir variantes"
-#: part/models.py:3625
+#: part/models.py:3627
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:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr "La cantidad debe ser un valor entero para las partes rastreables"
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr "Debe especificar la subparte"
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr "Ítem de BOM sustituto"
-#: part/models.py:3859
+#: part/models.py:3861
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:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr "Artículo BOM superior"
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Sustituir parte"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "Seleccionar parte relacionada"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr "Resultados de la Prueba"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Prueba"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Resultado"
@@ -7390,7 +7392,7 @@ msgstr "Nombre del proveedor"
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Instalado en"
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr "Debe suministrarse una pieza válida"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Ubicación de Stock"
msgid "Stock Locations"
msgstr "Ubicaciones de Stock"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Propietario"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Seleccionar Propietario"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Tipo de pieza ('{pf}') debe ser {pe}"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "La cantidad debe ser 1 para el artículo con un número de serie"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de serie no se puede establecer si la cantidad es mayor que 1"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr "El objeto no puede pertenecer a sí mismo"
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr "El elemento debe tener una referencia de construcción si is_building=True"
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr "La referencia de la construcción no apunta al mismo objeto de parte"
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Artículo de stock padre"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Parte base"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Seleccione una parte del proveedor correspondiente para este artículo de stock"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr "¿Dónde se encuentra este artículo de stock?"
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr "Empaquetar este elemento de stock se almacena en"
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr "¿Está este elemento instalado en otro elemento?"
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Número de serie para este elemento"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Código de lote para este artículo de stock"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Cantidad de Stock"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Build de origen"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr "Build para este item de stock"
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Orden de compra de origen"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Orden de compra para este artículo de stock"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Orden de venta de destino"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Fecha de caducidad del artículo de stock. El stock se considerará caducado después de esta fecha"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Eliminar al agotar"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Eliminar este artículo de stock cuando se agoten las existencias"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr "Precio de compra único en el momento de la compra"
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr "Convertido a parte"
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "La parte no está establecida como rastreable"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "Cantidad debe ser un entero"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "La cantidad no debe exceder la cantidad disponible de existencias ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "Los números de serie deben ser una lista de enteros"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "La cantidad no coincide con los números de serie"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Números de serie ya existen"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "Artículo de stock ha sido asignado a un pedido de venta"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr "Artículo de stock está instalado en otro artículo"
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr "Artículo de stock contiene otros artículos"
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr "Artículo de stock ha sido asignado a un cliente"
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr "El artículo de stock está en producción"
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr "Stock serializado no puede ser combinado"
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr "Artículos de Stock Duplicados"
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr "Los artículos de stock deben referirse a la misma parte"
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr "Los artículos de stock deben referirse a la misma parte del proveedor"
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr "Los códigos de estado del stock deben coincidir"
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stock no se puede mover porque no está en stock"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Notas de entrada"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Debe proporcionarse un valor para esta prueba"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr "El archivo adjunto debe ser subido para esta prueba"
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Nombre del test"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr "Resultado de la prueba"
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr "Valor de salida de prueba"
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr "Adjunto de resultados de prueba"
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr "Notas de prueba"
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr "Haga clic en el siguiente enlace para ver esta pieza"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Cantidad Mínima"
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr "No hay trabajos que coincidan con la consulta"
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr "Seleccionar"
@@ -10682,7 +10684,7 @@ msgstr "No se encontraron partes"
msgid "No category"
msgstr "Sin categoría"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Mostrar como lista"
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "No se encontraron ventas"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Mostrar como árbol"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr "Cargar subcategorías"
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr "Categoría suscrita"
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr "No hay plantillas de prueba que coincidan con la consulta"
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Editar resultado de prueba"
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Eliminar resultado de prueba"
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr "Esta prueba está definida para una parte principal"
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr "Editar plantilla de resultado de prueba"
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr "Eliminar plantilla de resultados de prueba"
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr "Sin fecha especificada"
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr "Especulativo"
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr "Cantidad máxima"
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr "Continuar"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr "Permisos para editar elementos"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Permiso para eliminar elementos"
-
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index 51e2ea7289..dc65f15b57 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 13:19+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -26,7 +26,7 @@ msgstr ""
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -40,9 +40,9 @@ msgstr ""
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -218,7 +218,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -231,7 +231,7 @@ msgstr ""
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -244,8 +244,8 @@ msgstr ""
msgid "Link"
msgstr ""
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr ""
@@ -260,8 +260,8 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -306,8 +306,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -318,7 +318,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr ""
@@ -329,8 +329,8 @@ msgstr ""
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -345,7 +345,7 @@ msgstr ""
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -365,7 +365,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -401,12 +401,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr ""
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -479,107 +479,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr ""
@@ -855,7 +855,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -885,10 +885,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -987,7 +987,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -995,7 +995,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1031,7 +1031,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1048,7 +1048,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1144,7 +1144,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1166,7 +1166,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1225,7 +1225,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1377,8 +1377,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1619,7 +1619,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2188,7 +2188,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2198,7 +2198,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2209,7 +2209,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2226,7 +2226,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2235,7 +2235,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2246,7 +2246,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3181,9 +3181,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3204,7 +3205,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3306,7 +3307,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3314,28 +3315,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3470,7 +3471,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3532,7 +3533,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3542,8 +3543,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3601,7 +3602,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3610,16 +3611,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3646,7 +3647,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3726,8 +3727,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4006,7 +4007,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4203,11 +4204,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4221,18 +4231,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4420,7 +4422,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5144,12 +5146,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5158,19 +5160,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5191,11 +5193,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5227,11 +5229,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5248,13 +5250,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5271,7 +5273,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5313,7 +5315,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5331,7 +5333,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5342,95 +5344,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5438,249 +5440,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5693,181 +5695,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5875,113 +5877,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7296,7 +7298,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7318,12 +7320,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7391,7 +7393,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7416,7 +7418,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7438,7 +7440,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7450,239 +7452,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9296,7 +9298,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9970,7 +9972,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10683,7 +10685,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10708,72 +10710,76 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index 0570be3776..5303264cf1 100644
--- a/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 20:00\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
@@ -25,7 +25,7 @@ msgstr "Address e API peida nashod"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "جزئیات خطا را می توان در پنل مدیریت پیدا کرد"
@@ -39,9 +39,9 @@ msgstr "تاریخ را وارد کنید"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr ""
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr ""
msgid "Link"
msgstr ""
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr ""
@@ -259,8 +259,8 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr ""
@@ -328,8 +328,8 @@ msgstr ""
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr ""
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr ""
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "آدرس فایل تصویری از راه دور"
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr ""
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,76 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12169,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12349,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index 559f047dd2..084af292c4 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: French\n"
@@ -25,7 +25,7 @@ msgstr "Point de terminaison de l'API introuvable"
msgid "User does not have permission to view this model"
msgstr "L'utilisateur n'a pas la permission de voir ce modèle"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
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"
@@ -39,9 +39,9 @@ msgstr "Entrer la date"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Fichier manquant"
msgid "Missing external link"
msgstr "Lien externe manquant"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Sélectionnez un fichier à joindre"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Sélectionnez un fichier à joindre"
msgid "Link"
msgstr "Lien"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Lien vers une url externe"
@@ -259,8 +259,8 @@ msgstr "Commentaire du fichier"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Choix invalide"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Choix invalide"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Nom"
@@ -328,8 +328,8 @@ msgstr "Nom"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Nom"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Chemin d'accès"
@@ -400,12 +400,12 @@ msgstr "Erreur serveur"
msgid "An error has been logged by the server."
msgstr "Une erreur a été loguée par le serveur."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tchèque"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Danois"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Allemand"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Grec"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Anglais"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Espagnol"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Espagnol (Mexique)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Perse"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Français"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hébreu"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Hongrois"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italien"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japonais"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Coréen"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Néerlandais"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norvégien"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polonais"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugais"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugais (Brésilien)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russe"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Slovénien"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Suédois"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thaïlandais"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turc"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamien"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Chinois"
@@ -854,7 +854,7 @@ msgstr "Référence de l' Ordre de Fabrication"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Code de statut de construction"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Code de lot"
@@ -994,7 +994,7 @@ msgstr "Code de lot"
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Utilisateur ayant émis cette commande de construction"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Lien Externe"
@@ -1143,7 +1143,7 @@ msgstr "Stock d'origine de l'article"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Stock d'origine de l'article"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Entrer la quantité désiré pour la fabrication"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1376,8 +1376,8 @@ msgstr "La quantité nécessaire n'a pas encore été complétée"
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Article du BOM"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Terminé"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Copier les templates de paramètres de catégorie"
msgid "Copy category parameter templates when creating a part"
msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Modèle"
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Assemblage"
msgid "Parts can be assembled from other components by default"
msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Composant"
@@ -2217,7 +2217,7 @@ msgstr "Composant"
msgid "Parts can be used as sub-components by default"
msgstr "Les composantes peuvent être utilisées comme sous-composants par défaut"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Achetable"
@@ -2225,7 +2225,7 @@ msgstr "Achetable"
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendable"
@@ -2234,7 +2234,7 @@ msgstr "Vendable"
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Traçable"
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr "Limite de longueur maximale pour les chaînes affichées dans les vues d
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Prix"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr "Lu"
msgid "Was this news item read?"
msgstr "Cette nouvelle a-t-elle été lue ?"
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Image"
@@ -3313,28 +3314,28 @@ msgstr "Image"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr "Nouveau {verbose_name}"
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "Une nouvelle commande a été créée et vous a été assignée"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Articles reçus"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Des articles d'un bon de commande ont été reçus"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Erreur déclenchée par le plugin"
@@ -3469,7 +3470,7 @@ msgstr "Devise par défaut utilisée pour cette entreprise"
msgid "Company"
msgstr "Société"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Nom du paramètre"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Valeur"
msgid "Parameter value"
msgstr "Valeur du paramètre"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "Description de la pièce du fournisseur"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "Description de la pièce du fournisseur"
msgid "Note"
msgstr "Note"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Frais minimums (par exemple frais de stock)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "Nombre de paquet"
msgid "Unit quantity supplied in a single pack"
msgstr "Nombre d'unités fournies dans un seul paquet"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "plusieurs"
@@ -3725,8 +3726,8 @@ msgstr "Supprimer image"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr "Filtres de requête (liste de paires clé=valeur séparées par des virg
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Filtres de requêtes de pièces (valeurs de paires clé=valeur séparées par des virgules)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr "Aucun bon de commande correspondant n'a été trouvé"
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr "Aucun bon de commande correspondant n'a été trouvé"
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Inconnu"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr "Reçu"
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID de composant"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Révision"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Composantes"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Catégorie de composant"
@@ -5341,95 +5343,95 @@ msgstr "Catégorie de composant"
msgid "Part Categories"
msgstr "Catégories de composants"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "L'IPN doit correspondre au modèle de regex {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr "Catégorie"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr "Date"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Requis"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Données"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valeur par Défaut"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Validée"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Résultat"
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Propriétaire"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Sélectionner un propriétaire"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantité doit être de 1 pour un article avec un numéro de série"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Le numéro de série ne peut pas être défini si la quantité est supérieure à 1"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Numéro de série pour cet article"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "Les numéros de série doivent être une liste de nombres entiers"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "La quantité ne correspond pas au nombre de numéros de série"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Les numéros de série existent déjà"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr "Aucune pièce trouvée"
msgid "No category"
msgstr "Aucune catégorie"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Afficher sous forme de liste"
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "Aucun numéro de série trouvé"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Afficher sous forme d'arborescence"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Modifier le résultat du test"
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Supprimer le résultat du test"
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr "Droit de modifier des élément"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Droit de supprimer des éléments"
-
diff --git a/InvenTree/locale/he/LC_MESSAGES/django.po b/InvenTree/locale/he/LC_MESSAGES/django.po
index e151c54712..a9e9d5983b 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -39,9 +39,9 @@ msgstr "הזן תאריך סיום"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "קובץ חסר"
msgid "Missing external link"
msgstr "חסר קישור חיצוני"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "בחר קובץ לצירוף"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "בחר קובץ לצירוף"
msgid "Link"
msgstr "קישור"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "קישור חיצוני"
@@ -259,8 +259,8 @@ msgstr "הערת קובץ"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "בחירה שגויה"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "בחירה שגויה"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "שם"
@@ -328,8 +328,8 @@ msgstr "שם"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "שם"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "מקור"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "גרמנית"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "יוונית"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "אנגלית"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "ספרדית"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "ספרדית (מקסיקנית)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "צרפתית"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "עברית"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "איטלקית"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "יפנית"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "קוריאנית"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "הולנדית"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "נורווגית"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "פולנית"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "רוסית"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "שוודית"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "תאילנדית"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "טורקית"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "ווייטנאמית"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "סינית"
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "מספרים סידוריים לא נמצאו"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index ab2374f2eb..fbf6e0ec28 100644
--- a/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
@@ -25,7 +25,7 @@ msgstr "API funkciót nem találom"
msgid "User does not have permission to view this model"
msgstr "Nincs jogosultságod az adatok megtekintéséhez"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "A hiba részleteit megtalálod az admin panelen"
@@ -39,9 +39,9 @@ msgstr "Dátum megadása"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Hiányzó fájl"
msgid "Missing external link"
msgstr "Hiányzó külső link"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Válaszd ki a mellekelni kívánt fájlt"
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link külső URL-re"
@@ -259,8 +259,8 @@ msgstr "Leírás, bővebb infó"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Érvénytelen választás"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Érvénytelen választás"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Név"
@@ -328,8 +328,8 @@ msgstr "Név"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Név"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "szülő"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Elérési út"
@@ -400,12 +400,12 @@ msgstr "Kiszolgálóhiba"
msgid "An error has been logged by the server."
msgstr "A kiszolgáló egy hibaüzenetet rögzített."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Cseh"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Dán"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Német"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Görög"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Angol"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spanyol (Mexikói)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Fárszi/Perzsa"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francia"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Héber"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Magyar"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Olasz"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japán"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreai"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Holland"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norvég"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Lengyel"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugál"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugál (Brazíliai)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Orosz"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Szlovén"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Svéd"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Tháj"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Török"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnámi"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Kínai"
@@ -854,7 +854,7 @@ msgstr "Gyártási utasítás azonosító"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Gyártás státusz kód"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batch kód"
@@ -994,7 +994,7 @@ msgstr "Batch kód"
msgid "Batch code for this build output"
msgstr "Batch kód a gyártás kimenetéhez"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Felhasználó vagy csoport aki felelős ezért a gyártásért"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Külső link"
@@ -1143,7 +1143,7 @@ msgstr "Forrás készlet tétel"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Forrás készlet tétel"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1306,7 +1306,8 @@ msgstr "Hiányos foglalás elfogadása"
#: build/serializers.py:388
msgid "Complete outputs if stock has not been fully allocated"
-msgstr "Kimenetek befejezése akkor is ha a készlet nem\n"
+msgstr ""
+"Kimenetek befejezése akkor is ha a készlet nem\n"
"lett teljesen lefoglalva"
#: build/serializers.py:457
@@ -1377,8 +1378,8 @@ msgstr "Szükséges gyártási mennyiség nem lett elérve"
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
@@ -1619,7 +1620,7 @@ msgid "Completed"
msgstr "Kész"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2188,7 +2189,7 @@ msgstr "Kategória paraméter sablonok másolása"
msgid "Copy category parameter templates when creating a part"
msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2198,7 +2199,7 @@ msgstr "Sablon"
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2209,7 +2210,7 @@ msgstr "Gyártmány"
msgid "Parts can be assembled from other components by default"
msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Összetevő"
@@ -2218,7 +2219,7 @@ msgstr "Összetevő"
msgid "Parts can be used as sub-components by default"
msgstr "Alkatrészek alapból használhatók összetevőként más alkatrészekhez"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Beszerezhető"
@@ -2226,7 +2227,7 @@ msgstr "Beszerezhető"
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Értékesíthető"
@@ -2235,7 +2236,7 @@ msgstr "Értékesíthető"
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2246,7 +2247,7 @@ msgstr "Követésre kötelezett"
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3181,9 +3182,10 @@ msgstr "Maximális szöveg hossz ami megjelenhet a táblázatokban"
msgid "Price break quantity"
msgstr "Ársáv mennyiség"
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Ár"
@@ -3204,7 +3206,7 @@ msgstr "Végpont ahol ez a webhook érkezik"
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3306,7 +3308,7 @@ msgstr "Elolvasva"
msgid "Was this news item read?"
msgstr "Elolvasva?"
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Kép"
@@ -3314,28 +3316,28 @@ msgstr "Kép"
msgid "Image file"
msgstr "Képfájl"
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr "Új {verbose_name}"
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "Egy új megrendelés létrehozva, és hozzád rendelve"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Készlet érkezett"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Készlet érkezett egy beszerzési megrendeléshez"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr "Készlet érkezett vissza egy visszavételi utasításhoz"
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Plugin hiba"
@@ -3470,7 +3472,7 @@ msgstr "Cég által használt alapértelmezett pénznem"
msgid "Company"
msgstr "Cég"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3532,7 +3534,7 @@ msgstr "Paraméter neve"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3542,8 +3544,8 @@ msgstr "Érték"
msgid "Parameter value"
msgstr "Paraméter értéke"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3601,7 +3603,7 @@ msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3610,16 +3612,16 @@ msgstr "Beszállítói alkatrész leírása"
msgid "Note"
msgstr "Megjegyzés"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3646,7 +3648,7 @@ msgstr "Csomagolási mennyiség"
msgid "Unit quantity supplied in a single pack"
msgstr "Egy csomagban lévő mennyiség"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "többszörös"
@@ -3726,8 +3728,8 @@ msgstr "Kép törlése"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4006,7 +4008,7 @@ msgid "Contacts"
msgstr "Névjegyek"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4203,11 +4205,20 @@ msgstr "Lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Alkatrész lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Teljes ár"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr "Nincs egyező beszerzési rendelés"
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4221,18 +4232,10 @@ msgstr "Nincs egyező beszerzési rendelés"
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Ismeretlen"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Teljes ár"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr "A rendelés teljes ára"
@@ -4420,7 +4423,7 @@ msgstr "Beérkezett"
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5144,12 +5147,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:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "Alkatrész neve"
@@ -5158,19 +5161,19 @@ msgstr "Alkatrész neve"
msgid "Part Description"
msgstr "Alkatrész leírása"
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr "IPN"
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Változat"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Kulcsszavak"
@@ -5191,11 +5194,11 @@ msgstr "Alapértelmezett készlethely ID"
msgid "Default Supplier ID"
msgstr "Alapértelmezett beszállító ID"
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimális készlet"
@@ -5227,11 +5230,11 @@ msgstr "Lefoglalva"
msgid "Building"
msgstr "Gyártásban"
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Minimum költség"
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Maximum költség"
@@ -5248,13 +5251,13 @@ msgstr "Szülő neve"
msgid "Category Path"
msgstr "Kategória elérési út"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Alkatrészek"
@@ -5271,7 +5274,7 @@ msgstr "Alkatrészjegyzék tétel ID"
msgid "Parent IPN"
msgstr "Szülő IPN"
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr "Alkatrész IPN"
@@ -5313,7 +5316,7 @@ msgstr "Teljes alkatrészjegyzék jóváhagyása"
msgid "This option must be selected"
msgstr "Ennek az opciónak ki kll lennie választva"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Alapértelmezett hely"
@@ -5331,7 +5334,7 @@ msgstr "Elérhető készlet"
msgid "Input quantity for price calculation"
msgstr "Add meg a mennyiséget az árszámításhoz"
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Alkatrész kategória"
@@ -5342,95 +5345,95 @@ msgstr "Alkatrész kategória"
msgid "Part Categories"
msgstr "Alkatrész kategóriák"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Ebben a kategóriában lévő alkatrészek helye alapban"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Szerkezeti"
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "A szerkezeti alkatrész kategóriákhoz nem lehet direktben alkatrészeket hozzáadni, csak az alkategóriáikhoz."
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Alapértelmezett kulcsszavak"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "Ikon (opcionális)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Nem lehet az alkatrészkategóriát szerkezeti kategóriává tenni, mert már vannak itt alkatrészek!"
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Hibás választás a szülő alkatrészre"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN mezőnek egyeznie kell a '{pat}' mintával"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr "Létezik már készlet tétel ilyen a sorozatszámmal"
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrészekre, már létezik ilyen"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Ilyen nevű, IPN-ű és reviziójú alkatrész már létezik."
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Szerkezeti kategóriákhoz nem lehet alkatrészeket rendelni!"
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr "Alkatrész leírása (opcionális)"
-#: part/models.py:867
+#: part/models.py:869
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:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5438,249 +5441,249 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén
msgid "Category"
msgstr "Kategória"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Alkatrész változat vagy verziószám (pl. szín, hossz, revízió, stb.)"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Alapértelmezett beszállító"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Alapértelmezett beszállítói alkatrész"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr "Lejárati idő (napban) ennek az alkatrésznek a készleteire"
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr "Alkatrész mértékegysége"
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Gyártható-e ez az alkatrész más alkatrészekből?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Felhasználható-e ez az alkatrész más alkatrészek gyártásához?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Kell-e külön követni az egyes példányait ennek az alkatrésznek?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Rendelhető-e ez az alkatrész egy külső beszállítótól?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Értékesíthető-e önmagában ez az alkatrész a vevőknek?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Ez egy virtuális nem megfogható alkatrész, pl. szoftver vagy licenc?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr "Felhasználó aki felelős ezért az alkatrészért"
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Utolsó leltár"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr "Árszámítások gyorstárazásához használt pénznem"
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr "Minimum alkatrészjegyzék költség"
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr "Összetevők minimum költsége"
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr "Maximum alkatrészjegyzék költség"
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr "Összetevők maximum költsége"
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "Minimum beszerzési ár"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr "Eddigi minimum beszerzési költség"
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr "Maximum beszerzési ár"
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr "Eddigi maximum beszerzési költség"
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr "Minimum belső ár"
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr "Minimum költség a belső ársávok alapján"
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr "Maximum belső ár"
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr "Maximum költség a belső ársávok alapján"
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr "Minimum beszállítói ár"
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr "Minimum alkatrész ár a beszállítóktól"
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr "Maximum beszállítói ár"
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr "Maximum alkatrész ár a beszállítóktól"
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr "Minimum alkatrészváltozat ár"
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr "Alkatrészváltozatok számolt minimum költsége"
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr "Maximum alkatrészváltozat ár"
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr "Alkatrészváltozatok számolt maximum költsége"
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr "Számított általános minimum költség"
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr "Számított általános maximum költség"
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr "Minimum eladási ár"
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr "Minimum eladási ár az ársávok alapján"
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr "Maximum eladási ár"
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr "Maximum eladási ár az ársávok alapján"
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr "Minimum eladási költség"
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr "Eddigi minimum eladási ár"
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr "Maximum eladási költség"
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr "Eddigi maximum eladási ár"
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr "Leltározható alkatrész"
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr "Tételszám"
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr "Egyedi készlet tételek száma a leltárkor"
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr "Teljes készlet a leltárkor"
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5693,181 +5696,181 @@ msgstr "Teljes készlet a leltárkor"
msgid "Date"
msgstr "Dátum"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr "Leltározva ekkor"
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "További megjegyzések"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr "Leltározta"
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr "Minimum készlet érték"
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr "Becsült minimum raktárkészlet érték"
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr "Maximum készlet érték"
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr "Becsült maximum raktárkészlet érték"
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr "Riport"
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr "Leltár riport fájl (generált)"
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr "Alkatrész szám"
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr "Leltározott alkatrészek száma"
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr "Felhasználó aki a leltár riportot kérte"
-#: part/models.py:3220
+#: part/models.py:3222
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:3237
+#: part/models.py:3239
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:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:3276
+#: part/models.py:3278
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:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:3282
+#: part/models.py:3284
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:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr "Paraméter leírása"
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Adat"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Szint"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5875,113 +5878,113 @@ msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Fogyóeszköz"
-#: part/models.py:3592
+#: part/models.py:3594
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:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:3597
+#: part/models.py:3599
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:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Jóváhagyva"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr "Ez a BOM tétel jóvá lett hagyva"
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Öröklődött"
-#: part/models.py:3619
+#: part/models.py:3621
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:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:3625
+#: part/models.py:3627
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:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
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:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3859
+#: part/models.py:3861
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:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr "Alkatrész kapcsolat nem hozható létre önmagával"
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr "Már létezik duplikált alkatrész kapcsolat"
@@ -7296,7 +7299,7 @@ msgstr "Összesen"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7318,12 +7321,12 @@ msgid "Test Results"
msgstr "Teszt eredmények"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Teszt"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Eredmény"
@@ -7391,7 +7394,7 @@ msgstr "Beszállító neve"
msgid "Customer ID"
msgstr "Vevő ID"
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Beépítve ebbe"
@@ -7416,7 +7419,7 @@ msgstr "Felülvizsgálat szükséges"
msgid "Delete on Deplete"
msgstr "Törlés ha kimerül"
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7438,7 +7441,7 @@ msgstr "Egy érvényes alkatrészt meg kell adni"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Sorozatszámot nem lehet megadni nem követésre kötelezett alkatrész esetén"
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7450,239 +7453,239 @@ msgstr "Készlet hely"
msgid "Stock Locations"
msgstr "Készlethelyek"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Tulajdonos"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Tulajdonos kiválasztása"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "A szerkezeti raktári helyekre nem lehet direktben raktározni, csak az al-helyekre."
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Külső"
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr "Ez egy külső készlethely"
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Nem lehet ezt a raktári helyet szerkezetivé tenni, mert már vannak itt tételek!"
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!"
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr "Virtuális alkatrészből nem lehet készletet létrehozni"
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "A alkatrész típus ('{pf}') {pe} kell legyen"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "Mennyiség 1 kell legyen a sorozatszámmal rendelkező tételnél"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Nem lehet sorozatszámot megadni ha a mennyiség több mint egy"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr "A tétel nem tartozhat saját magához"
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr "A tételnek kell legyen gyártási azonosítója ha az is_bulding igaz"
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr "Gyártási azonosító nem ugyanarra az alkatrész objektumra mutat"
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Szülő készlet tétel"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Kiindulási alkatrész"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételhez"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr "Hol található ez az alkatrész?"
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr "A csomagolása ennek a készlet tételnek itt van tárolva"
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr "Ez a tétel be van építve egy másik tételbe?"
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Sorozatszám ehhez a tételhez"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Batch kód ehhez a készlet tételhez"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Készlet mennyiség"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Forrás gyártás"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr "Gyártás ehhez a készlet tételhez"
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Forrás beszerzési rendelés"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Beszerzés ehhez a készlet tételhez"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Készlet tétel lejárati dátuma. A készlet lejártnak tekinthető ezután a dátum után"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Törlés ha kimerül"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Készlet tétel törlése ha kimerül"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr "Egy egység beszerzési ára a beszerzés időpontjában"
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr "Alkatrésszé alakítva"
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "Az alkatrész nem követésre kötelezett"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "Mennyiség egész szám kell legyen"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "A mennyiség nem lépheti túl a készletet ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "A sorozatszám egész számok listája kell legyen"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "A sorozatszámok már léteznek"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr "Készlet tétel beépül egy másikba"
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr "A készlet tétel más tételeket tartalmaz"
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr "Készlet tétel gyártás alatt"
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon"
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr "A készlet tétel ugyanarra a beszállítói alkatrészre kell vonatkozzon"
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr "Készlet tételek állapotainak egyeznie kell"
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Készlet tétel nem mozgatható mivel nincs készleten"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Bejegyzés megjegyzései"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Ehhez a teszthez meg kell adni értéket"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr "Ehhez a teszthez fel kell tölteni mellékletet"
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Teszt neve"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr "Teszt eredménye"
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr "Teszt kimeneti értéke"
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr "Teszt eredmény melléklet"
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr "Tesztek megjegyzései"
@@ -9296,7 +9299,7 @@ msgid "Click on the following link to view this part"
msgstr "Klikk a következő linkre az alkatrész megjelenítéséhez"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Minimum mennyiség"
@@ -9970,7 +9973,7 @@ msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr "Kiválaszt"
@@ -10683,7 +10686,7 @@ msgstr "Nincs alkatrész"
msgid "No category"
msgstr "Nincs kategória"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Megjelenítés listaként"
@@ -10708,72 +10711,78 @@ msgstr "Alkatrész kategória kiválasztása"
msgid "Category is required"
msgstr "Kategória megadása kötelező"
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "Nem található vevői rendelés"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Megjelenítés fában"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr "Alkategóriák betöltése"
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr "Értesítésre beállított kategória"
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr "Nincs a lekérdezéssel egyező teszt sablon"
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr "Ez a teszt a szülő alkatrészhez lett felvéve"
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr "Teszt eredmény sablon szerkesztése"
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr "Teszt eredmény sablon törlése"
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr "Nincs megadva dátum"
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr "A megadott dátum a múltban van"
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr "Spekulatív"
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr "Az alkatrészhez nem áll rendelkezésre ütemezési információ"
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr "Hiba az alkatrész ütemezési információinak betöltésekor"
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr "Ütemezett készlet mennyiség"
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr "Minimum mennyiség"
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr "Minimális készlet"
@@ -12164,7 +12173,8 @@ msgstr "Tovább"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr "A %(provider_name)s felhasználói fiókodat fogod használni a %(site_name)s belépéshez.
Kérlek töltsd ki az alábbi adatokat:"
@@ -12343,4 +12353,3 @@ msgstr "Jogosultság tételek szerkesztéséhez"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Jogosultság tételek törléséhez"
-
diff --git a/InvenTree/locale/id/LC_MESSAGES/django.po b/InvenTree/locale/id/LC_MESSAGES/django.po
index 0a26cd43f2..99da652892 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
@@ -25,7 +25,7 @@ msgstr "API endpoint tidak ditemukan"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -39,9 +39,9 @@ msgstr "Masukkan tanggal"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "File tidak ditemukan"
msgid "Missing external link"
msgstr "Tautan eksternal tidak ditemukan"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Pilih file untuk dilampirkan"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Pilih file untuk dilampirkan"
msgid "Link"
msgstr "Tautan"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Tautan menuju URL eksternal"
@@ -259,8 +259,8 @@ msgstr "Komentar file"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Pilihan tidak valid"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Pilihan tidak valid"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Nama"
@@ -328,8 +328,8 @@ msgstr "Nama"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Nama"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "induk"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Direktori"
@@ -400,12 +400,12 @@ msgstr "Terjadi Kesalahan Server"
msgid "An error has been logged by the server."
msgstr "Sebuah kesalahan telah dicatat oleh server."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Harus berupa angka yang valid"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Ceko"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Denmark"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Jerman"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Yunani"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Inggris"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spanyol"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spanyol (Meksiko)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Persia"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Perancis"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Ibrani"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Hungaria"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Itali"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Jepang"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Korea"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Belanda"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norwegia"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polandia"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugis"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugis (Brasil)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Rusia"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Swedia"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thai"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turki"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnam"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Cina"
@@ -854,7 +854,7 @@ msgstr "Referensi Order Produksi"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Produksi induk dari produksi ini"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Kode status pembuatan"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Kode Kelompok"
@@ -994,7 +994,7 @@ msgstr "Kode Kelompok"
msgid "Batch code for this build output"
msgstr "Kode kelompok untuk hasil produksi ini"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Pengguna yang menyerahkan order ini"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Tautan eksternal"
@@ -1143,7 +1143,7 @@ msgstr "Sumber stok item"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Sumber stok item"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Masukkan jumlah hasil pesanan"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Jumlah harus lebih besar daripada nol"
@@ -1376,8 +1376,8 @@ msgstr "Jumlah produksi yang diperlukan masih belum cukup"
msgid "Build order has incomplete outputs"
msgstr "Order memiliki hasil produksi yang belum dilengkapi"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Item tagihan material"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN harus sesuai dengan pola regex {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "Tidak ada nomor seri ditemukan"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 91ea93275f..26b1ad0dd5 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
@@ -25,7 +25,7 @@ msgstr "Endpoint API non trovato"
msgid "User does not have permission to view this model"
msgstr "L'utente non ha i permessi per vedere questo modello"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "I dettagli dell'errore possono essere trovati nel pannello di amministrazione"
@@ -39,9 +39,9 @@ msgstr "Inserisci la data"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "File mancante"
msgid "Missing external link"
msgstr "Link esterno mancante"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Seleziona file da allegare"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Seleziona file da allegare"
msgid "Link"
msgstr "Collegamento"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link a URL esterno"
@@ -259,8 +259,8 @@ msgstr "Commento del file"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Scelta non valida"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Scelta non valida"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Nome"
@@ -328,8 +328,8 @@ msgstr "Nome"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Nome"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "genitore"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Percorso"
@@ -400,12 +400,12 @@ msgstr "Errore del server"
msgid "An error has been logged by the server."
msgstr "Un errore è stato loggato dal server."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "URL del file immagine remota"
msgid "Downloading images from remote URL is not enabled"
msgstr "Il download delle immagini da URL remoto non è abilitato"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Ceco"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Danese"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Tedesco"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Greco"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Inglese"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spagnolo"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spagnolo (Messicano)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Persiano"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francese"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Ebraico"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Ungherese"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Giapponese"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Olandese"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norvegese"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polacco"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portoghese"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portoghese (Brasile)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Sloveno"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Svedese"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thailandese"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Cinese"
@@ -854,7 +854,7 @@ msgstr "Riferimento Ordine Di Produzione"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Ordine di produzione a cui questa produzione viene assegnata"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Codice stato di produzione"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Codice Lotto"
@@ -994,7 +994,7 @@ msgstr "Codice Lotto"
msgid "Batch code for this build output"
msgstr "Codice del lotto per questa produzione"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Utente che ha emesso questo ordine di costruzione"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Collegamento esterno"
@@ -1143,7 +1143,7 @@ msgstr "Origine giacenza articolo"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Origine giacenza articolo"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Inserisci la quantità per l'output di compilazione"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1376,8 +1376,8 @@ msgstr "La quantità di produzione richiesta non è stata completata"
msgid "Build order has incomplete outputs"
msgstr "L'ordine di produzione ha output incompleti"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Distinta base (Bom)"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Completato"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Copia Template Parametri Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Modello"
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Assemblaggio"
msgid "Parts can be assembled from other components by default"
msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Componente"
@@ -2217,7 +2217,7 @@ msgstr "Componente"
msgid "Parts can be used as sub-components by default"
msgstr "Gli articoli possono essere assemblati da altri componenti per impostazione predefinita"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Acquistabile"
@@ -2225,7 +2225,7 @@ msgstr "Acquistabile"
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendibile"
@@ -2234,7 +2234,7 @@ msgstr "Vendibile"
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Tracciabile"
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr "Limite massimo di lunghezza per le stringhe visualizzate nelle viste del
msgid "Price break quantity"
msgstr "Quantità prezzo limite"
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Prezzo"
@@ -3203,7 +3204,7 @@ msgstr "Scadenza in cui questa notifica viene ricevuta"
msgid "Name for this webhook"
msgstr "Nome per questa notifica"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr "Letto"
msgid "Was this news item read?"
msgstr "Queste notizie sull'elemento sono state lette?"
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Immagine"
@@ -3313,28 +3314,28 @@ msgstr "Immagine"
msgid "Image file"
msgstr "File immagine"
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr "Nuovo {verbose_name}"
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "Un nuovo ordine è stato creato e assegnato a te"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Elemento ricevuto"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Gli elementi sono stati ricevuti a fronte di un ordine di acquisto"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Errore generato dal plugin"
@@ -3469,7 +3470,7 @@ msgstr "Valuta predefinita utilizzata per questa azienda"
msgid "Company"
msgstr "Azienda"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Nome parametro"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Valore"
msgid "Parameter value"
msgstr "Valore del parametro"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "Descrizione articolo fornitore"
msgid "Note"
msgstr "Nota"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "costo base"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "Quantità Confezione"
msgid "Unit quantity supplied in a single pack"
msgstr "Quantità unitaria contenuta in una singola confezione"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "multiplo"
@@ -3725,8 +3726,8 @@ msgstr "Elimina immagine"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr "Contatti"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr "Filtri di ricerca (elenco separato da virgole key=coppia di valori"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Articolo Filtri di ricerca (elenco separato da virgole key=coppia di valori)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Prezzo Totale"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr "Nessun ordine di acquisto corrispondente trovato"
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr "Nessun ordine di acquisto corrispondente trovato"
msgid "Purchase Order"
msgstr "Ordine D'Acquisto"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Sconosciuto"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Prezzo Totale"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr "Prezzo totale dell'ordine"
@@ -4419,7 +4421,7 @@ msgstr "Ricevuto"
msgid "Number of items received"
msgstr "Numero di elementi ricevuti"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr "Aggiornato {part} prezzo unitario a {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Aggiornato {part} unità prezzo a {price} e quantità a {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "Nome Articolo"
@@ -5157,19 +5159,19 @@ msgstr "Nome Articolo"
msgid "Part Description"
msgstr "Descrizione Articolo"
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Revisione"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Parole Chiave"
@@ -5190,11 +5192,11 @@ msgstr "Posizione Predefinita ID"
msgid "Default Supplier ID"
msgstr "ID Fornitore Predefinito"
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante Di"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Scorta Minima"
@@ -5226,11 +5228,11 @@ msgstr "Allocato"
msgid "Building"
msgstr "In Costruzione"
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Costo Minimo"
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Costo Massimo"
@@ -5247,13 +5249,13 @@ msgstr "Nome Principale"
msgid "Category Path"
msgstr "Percorso Categoria"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Articoli"
@@ -5270,7 +5272,7 @@ msgstr "ID Elemento Distinta Base"
msgid "Parent IPN"
msgstr "IPN Principale"
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr "IPN Articolo"
@@ -5312,7 +5314,7 @@ msgstr "Convalida l'intera Fattura dei Materiali"
msgid "This option must be selected"
msgstr "Questa opzione deve essere selezionata"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Posizione Predefinita"
@@ -5330,7 +5332,7 @@ msgstr "Disponibilità in magazzino"
msgid "Input quantity for price calculation"
msgstr "Digita la quantità per il calcolo del prezzo"
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
@@ -5341,95 +5343,95 @@ msgstr "Categoria Articoli"
msgid "Part Categories"
msgstr "Categorie Articolo"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Posizione predefinita per gli articoli di questa categoria"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Strutturale"
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Le parti non possono essere assegnate direttamente a una categoria strutturale, ma possono essere assegnate a categorie subordinate."
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Keywords predefinite"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "Icona"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "Icona (facoltativa)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Non puoi rendere principale questa categoria di articoli perché alcuni articoli sono già assegnati!"
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Scelta non valida per l'articolo principale"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "L'articolo '{p1}' è usato nella Distinta Base per '{p2}' (ricorsivo)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN deve corrispondere al modello regex {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr "Esiste già un elemento stock con questo numero seriale"
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Un articolo con questo Nome, IPN e Revisione esiste già."
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Gli articoli non possono essere assegnati a categorie articolo principali!"
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
msgid "Category"
msgstr "Categoria"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Fornitore predefinito"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Articolo fornitore predefinito"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr "Scadenza (in giorni) per gli articoli in giacenza di questo pezzo"
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr "Unita di misura per questo articolo"
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Questo articolo può essere costruito da altri articoli?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Questo articolo può essere utilizzato per costruire altri articoli?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Questo articolo ha il tracciamento per gli elementi unici?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "È una parte virtuale, come un prodotto software o una licenza?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr "Somma di controllo Distinta Base"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr "Somma di controllo immagazzinata Distinta Base"
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr "Distinta Base controllata da"
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr "Data di verifica Distinta Base"
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Creazione Utente"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr "Utente responsabile di questo articolo"
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Ultimo Inventario"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Vendita multipla"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr "Valuta utilizzata per calcolare i prezzi"
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr "Costo Minimo Distinta Base"
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr "Costo minimo dei componenti dell'articolo"
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr "Costo Massimo Distinta Base"
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr "Costo massimo dei componenti dell'articolo"
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "Importo Acquisto Minimo"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr "Costo minimo di acquisto storico"
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr "Importo massimo acquisto"
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr "Costo massimo di acquisto storico"
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr "Prezzo Interno Minimo"
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr "Costo minimo basato su interruzioni di prezzo interne"
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr "Prezzo Interno Massimo"
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr "Costo massimo basato su interruzioni di prezzo interne"
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr "Prezzo Minimo Fornitore"
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr "Prezzo minimo articolo da fornitori esterni"
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr "Prezzo Massimo Fornitore"
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr "Prezzo massimo dell'articolo proveniente da fornitori esterni"
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr "Variazione di costo minimo"
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr "Costo minimo calcolato di variazione dell'articolo"
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr "Massima variazione di costo"
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr "Costo massimo calcolato di variazione dell'articolo"
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr "Costo minimo totale calcolato"
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr "Costo massimo totale calcolato"
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr "Prezzo Di Vendita Minimo"
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr "Prezzo minimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr "Prezzo Di Vendita Massimo"
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr "Prezzo massimo di vendita basato sulle interruzioni di prezzo"
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr "Prezzo storico minimo di vendita"
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr "Costo Di Vendita Minimo"
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr "Prezzo storico massimo di vendita"
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr "Articolo per l'inventario"
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr "Contatore Elemento"
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr "Numero di scorte individuali al momento dell'inventario"
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr "Totale delle scorte disponibili al momento dell'inventario"
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr "Totale delle scorte disponibili al momento dell'inventario"
msgid "Date"
msgstr "Data"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr "Data in cui è stato effettuato l'inventario"
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "Note aggiuntive"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr "Utente che ha eseguito questo inventario"
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr "Costo Minimo Scorta"
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr "Costo minimo stimato di magazzino a disposizione"
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr "Costo Massimo Scorte"
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr "Costo massimo stimato di magazzino a disposizione"
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr "Report"
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr "File Report Inventario (generato internamente)"
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr "Conteggio Articolo"
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr "Numero di articoli oggetto d'inventario"
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr "Utente che ha richiesto questo report inventario"
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr "Il modello di prova può essere creato solo per gli articoli rintracciabili"
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr "Una prova con questo nome esiste già per questo articolo"
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Nome Test"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr "Inserisci un nome per la prova"
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Inserisci descrizione per questa prova"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Richiesto"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "Questa prova è necessaria per passare?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Valore richiesto"
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr "Questa prova richiede un valore quando si aggiunge un risultato di prova?"
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Allegato Richiesto"
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Questa prova richiede un file allegato quando si aggiunge un risultato di prova?"
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "Il nome del modello del parametro deve essere univoco"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Nome Parametro"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Unità Parametri"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr "Descrizione del parametro"
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Articolo principale"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Modello Parametro"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Dati"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Valore del Parametro"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valore Predefinito"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Valore Parametro Predefinito"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr "ID articolo o nome articolo"
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr "Valore ID articolo univoco"
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "Valore IPN articolo"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Livello"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr "Livello distinta base"
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Seleziona articolo principale"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Articolo subordinato"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Seleziona l'articolo da utilizzare nella Distinta Base"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr "Quantità Distinta Base per questo elemento Distinta Base"
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr "Quantità Distinta Base per questo elemento Distinta Base"
msgid "Optional"
msgstr "Opzionale"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Questo elemento della Distinta Base è opzionale"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Consumabile"
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Questo elemento della Distinta Base è consumabile (non è tracciato negli ordini di produzione)"
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Eccedenza"
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Quantità stimata scarti di produzione (assoluta o percentuale)"
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr "Riferimento Elemento Distinta Base"
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Note Elemento Distinta Base"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr "Codice di controllo"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr "Codice di controllo Distinta Base"
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Convalidato"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Questo elemento della Distinta Base viene ereditato dalle Distinte Base per gli articoli varianti"
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Gli elementi in giacenza per gli articoli varianti possono essere utilizzati per questo elemento Distinta Base"
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr "La quantità deve essere un valore intero per gli articoli rintracciabili"
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr "L'articolo subordinato deve essere specificato"
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr "Elemento Distinta Base Sostituito"
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr "La parte sostituita non può essere la stessa dell'articolo principale"
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr "Elemento principale Distinta Base"
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Sostituisci l'Articolo"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Articolo 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Articolo 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "Seleziona Prodotto Relativo"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr "Non si può creare una relazione tra l'articolo e sé stesso"
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr "La relazione duplicata esiste già"
@@ -7295,7 +7297,7 @@ msgstr "Totale"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr "Risultati Test"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Risultato"
@@ -7390,7 +7392,7 @@ msgstr "Nome Fornitore"
msgid "Customer ID"
msgstr "ID Cliente"
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Installato In"
@@ -7415,7 +7417,7 @@ msgstr "Revisione Necessaria"
msgid "Delete on Deplete"
msgstr "Elimina al esaurimento"
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr "Deve essere fornita un articolo valido"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "I numeri di serie non possono essere forniti per un articolo non tracciabile"
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Ubicazione magazzino"
msgid "Stock Locations"
msgstr "Posizioni magazzino"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Proprietario"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Seleziona Owner"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Gli elementi di magazzino non possono essere direttamente situati in un magazzino strutturale, ma possono essere situati in ubicazioni secondarie."
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Esterno"
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr "Si tratta di una posizione esterna al magazzino"
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Non puoi rendere strutturale questa posizione di magazzino perché alcuni elementi di magazzino sono già posizionati al suo interno!"
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!"
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali"
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Il tipo di articolo ('{pf}') deve essere {pe}"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "La quantità deve essere 1 per elementi con un numero di serie"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Il numero di serie non può essere impostato se la quantità è maggiore di 1"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr "L'elemento non può appartenere a se stesso"
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr "L'elemento deve avere un riferimento di costruzione se is_building=True"
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr "Il riferimento di costruzione non punta allo stesso oggetto dell'articolo"
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Elemento di magazzino principale"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Articolo base"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di magazzino"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr "Dove si trova questo articolo di magazzino?"
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr "Imballaggio di questo articolo di magazzino è collocato in"
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr "Questo elemento è stato installato su un altro elemento?"
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Numero di serie per questo elemento"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Codice lotto per questo elemento di magazzino"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Quantità disponibile"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Genera Costruzione"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr "Costruisci per questo elemento di magazzino"
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Origina Ordine di Acquisto"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Ordine d'acquisto per questo articolo in magazzino"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Destinazione Ordine di Vendita"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Data di scadenza per l'elemento di magazzino. Le scorte saranno considerate scadute dopo questa data"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Elimina al esaurimento"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Cancella questo Elemento di Magazzino quando la giacenza è esaurita"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr "Prezzo di acquisto unitario al momento dell’acquisto"
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr "Convertito in articolo"
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "L'articolo non è impostato come tracciabile"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "La quantità deve essere un numero intero"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "La quantità non deve superare la quantità disponibile ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "I numeri di serie devono essere numeri interi"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "La quantità non corrisponde ai numeri di serie"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Numeri di serie già esistenti"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "L'elemento di magazzino è stato assegnato a un ordine di vendita"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr "L'elemento di magazzino è installato in un altro elemento"
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr "L'elemento di magazzino contiene altri elementi"
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr "L'elemento di magazzino è stato assegnato a un cliente"
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr "L'elemento di magazzino è attualmente in produzione"
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr "Il magazzino serializzato non può essere unito"
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr "Duplica elementi di magazzino"
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo"
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore"
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr "I codici di stato dello stock devono corrispondere"
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Le giacenze non possono essere spostate perché non disponibili"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Note d'ingresso"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Il valore deve essere fornito per questo test"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr "L'allegato deve essere caricato per questo test"
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Nome Test"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr "Risultato Test"
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr "Test valore output"
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr "Risultato della prova allegato"
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr "Note del test"
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr "Clicca il seguente link per visualizzare questo articolo"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Quantità minima"
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr "Nessuna produzione corrispondente alla ricerca"
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr "Seleziona"
@@ -10682,7 +10684,7 @@ msgstr "Nessun articolo trovato"
msgid "No category"
msgstr "Nessuna categoria"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Visualizza come elenco"
@@ -10707,72 +10709,78 @@ msgstr "Seleziona Categoria Articolo"
msgid "Category is required"
msgstr "Carica Sotto Categorie"
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "Non sono state trovati ordini di vendita"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Visualizza come struttura ad albero"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr "Carica Sotto Categorie"
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr "Categoria sottoscritta"
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr "Nessun modello di test corrispondente"
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "Modificare il risultato del test"
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "Cancellare il risultato del test"
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr "Questo test è definito per un articolo principale"
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr "Modifica Modello Risultato Test"
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr "Elimina Modello Risultato Test"
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr "Nessuna data specificata"
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr "La data specificata è nel passato"
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr "Speculativo"
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr "Nessuna informazione di pianificazione disponibile per questo prodotto"
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr "Errore nel recupero delle informazioni di programmazione per questo articolo"
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr "Quantità Di Scorte Programmate"
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr "Quantità Massima"
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr "Livello Minimo Stock"
@@ -12163,9 +12171,11 @@ msgstr "Continua"
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
-msgstr "Stai per utilizzare il tuo account %(provider_name)s per accedere a\n"
+msgstr ""
+"Stai per utilizzare il tuo account %(provider_name)s per accedere a\n"
"%(site_name)s.
Per concludere, compila il seguente modulo:"
#: templates/stats.html:13
@@ -12343,4 +12353,3 @@ msgstr "Permessi per modificare gli elementi"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Autorizzazione ad eliminare gli elementi"
-
diff --git a/InvenTree/locale/ja/LC_MESSAGES/django.po b/InvenTree/locale/ja/LC_MESSAGES/django.po
index 24424dbb55..aaff32e3db 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
@@ -25,7 +25,7 @@ msgstr "APIエンドポイントが見つかりません"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -39,9 +39,9 @@ msgstr "日付を入力する"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "ファイルがありません"
msgid "Missing external link"
msgstr "外部リンクが見つかりません。"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "添付ファイルを選択"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "添付ファイルを選択"
msgid "Link"
msgstr "リンク"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
@@ -259,8 +259,8 @@ msgstr "ファイルコメント"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "無効な選択です"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "無効な選択です"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "お名前"
@@ -328,8 +328,8 @@ msgstr "お名前"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "お名前"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "親"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "ドイツ語"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "ギリシャ語"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "英語"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "スペイン語"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "スペイン語(メキシコ)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "フランス語"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "ヘブライ語"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "ハンガリー語"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "イタリア語"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "日本語"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "韓国語"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "オランダ語"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "ノルウェー語"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "ポーランド語"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "ロシア語"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "スウェーデン語"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "タイ語"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "トルコ語"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "ベトナム語"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "中国語"
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "テンプレート"
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "アセンブリ"
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "コンポーネント"
@@ -2217,7 +2217,7 @@ msgstr "コンポーネント"
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "購入可能"
@@ -2225,7 +2225,7 @@ msgstr "購入可能"
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "追跡可能"
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "パーツ"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr "カテゴリ"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "シリアル番号が見つかりません"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index 4ad86ea06e..f20e847339 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
@@ -25,7 +25,7 @@ msgstr "API endpoint 없음"
msgid "User does not have permission to view this model"
msgstr "이 모델을 볼 수 있는 권한이 없습니다."
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "오류 세부 정보는 관리자 패널에서 찾을 수 있습니다."
@@ -39,9 +39,9 @@ msgstr "날짜 입력"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "첨부할 파일을 선택하세요"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "첨부할 파일을 선택하세요"
msgid "Link"
msgstr "링크"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "외부 URL로 링크"
@@ -259,8 +259,8 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "이름"
@@ -328,8 +328,8 @@ msgstr "이름"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "이름"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "체코어"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "독일어"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "그리스어"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "영어"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "스페인어"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "스페인어 (멕시코)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "파르시어/페르시아어"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "프랑스어"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "히브리어"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "헝가리어"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "이탈리아어"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "일본어"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "한국어"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "네덜란드어"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "노르웨이어"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "폴란드어"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "러시아어"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "스웨덴어"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "태국어"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "터키어"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "베트남어"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "중국어"
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "외부 링크"
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "구입 가능"
@@ -2225,7 +2225,7 @@ msgstr "구입 가능"
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "판매 가능"
@@ -2234,7 +2234,7 @@ msgstr "판매 가능"
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "이미지"
@@ -3313,28 +3314,28 @@ msgstr "이미지"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr "회사"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "데이터"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "일련번호가 이미 존재합니다"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr "선택"
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,76 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12169,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12349,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index 1d690bb079..305fff6968 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
@@ -25,7 +25,7 @@ msgstr "API eindpunt niet gevonden"
msgid "User does not have permission to view this model"
msgstr "Gebruiker heeft geen rechten om dit model te bekijken"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Error details kunnen worden gevonden in het admin scherm"
@@ -39,9 +39,9 @@ msgstr "Voer datum in"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Ontbrekend bestand"
msgid "Missing external link"
msgstr "Externe link ontbreekt"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Bestand als bijlage selecteren"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Bestand als bijlage selecteren"
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link naar externe URL"
@@ -259,8 +259,8 @@ msgstr "Bestand opmerking"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Ongeldige keuze"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Ongeldige keuze"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Naam"
@@ -328,8 +328,8 @@ msgstr "Naam"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Naam"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "bovenliggende"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Pad"
@@ -400,12 +400,12 @@ msgstr "Serverfout"
msgid "An error has been logged by the server."
msgstr "Er is een fout gelogd door de server."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tsjechisch"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Deens"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Duits"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Grieks"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Engels"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spaans"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spaans (Mexicaans)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Perzisch"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Frans"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebreeuws"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Hongaars"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italiaans"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japans"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreaans"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Nederlands"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Noors"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Pools"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugees"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugees (Braziliaans)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russisch"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Sloveens"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Zweeds"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thais"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turks"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamees"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Chinees"
@@ -854,7 +854,7 @@ msgstr "Productieorderreferentie"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Productieorder waar deze productie aan is toegewezen"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Productiestatuscode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batchcode"
@@ -994,7 +994,7 @@ msgstr "Batchcode"
msgid "Batch code for this build output"
msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Gebruiker die de productieorder heeft gegeven"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Externe Link"
@@ -1143,7 +1143,7 @@ msgstr "Bron voorraadartikel"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Bron voorraadartikel"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Voer hoeveelheid in voor productie uitvoer"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Hoeveelheid moet groter zijn dan nul"
@@ -1376,8 +1376,8 @@ msgstr "Vereiste productiehoeveelheid is voltooid"
msgid "Build order has incomplete outputs"
msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Stuklijstartikel"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Voltooid"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Kopiëer Categorieparameter Sjablonen"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Sjabloon"
msgid "Parts are templates by default"
msgstr "Onderdelen zijn standaard sjablonen"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Samenstelling"
msgid "Parts can be assembled from other components by default"
msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Component"
@@ -2217,7 +2217,7 @@ msgstr "Component"
msgid "Parts can be used as sub-components by default"
msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Koopbaar"
@@ -2225,7 +2225,7 @@ msgstr "Koopbaar"
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Verkoopbaar"
@@ -2234,7 +2234,7 @@ msgstr "Verkoopbaar"
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Volgbaar"
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Prijs"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Afbeelding"
@@ -3313,28 +3314,28 @@ msgstr "Afbeelding"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "Een nieuwe order is aangemaakt en aan u toegewezen"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Artikelen zijn ontvangen tegen een inkooporder"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf"
msgid "Company"
msgstr "Bedrijf"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Parameternaam"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Waarde"
msgid "Parameter value"
msgstr "Parameterwaarde"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr "Opmerking"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "meerdere"
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Totaalprijs"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr "Inkooporder"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Totaalprijs"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr "Ontvangen"
msgid "Number of items received"
msgstr "Aantal ontvangen artikelen"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,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:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr "Toegewezen"
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Standaard locatie"
@@ -5330,7 +5332,7 @@ msgstr "Beschikbare Voorraad"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Standaard locatie voor onderdelen in deze categorie"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN moet overeenkomen met regex-patroon {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr "Datum"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "De template van de parameter moet uniek zijn"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Parameternaam"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Parameter Eenheden"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parameter Template"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Parameterwaarde"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Standaard Parameter Waarde"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr "Totaal"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Voorraadlocatie"
msgid "Stock Locations"
msgstr "Voorraadlocaties"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Inkooporder Bron"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Inkooporder voor dit voorraadartikel"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Bestemming Verkooporder"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "Voorraadartikel is toegewezen aan een verkooporder"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "Geen verkooporder gevonden"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index 7d73a9f515..0269d55ed9 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
@@ -25,7 +25,7 @@ msgstr "API-endepunkt ikke funnet"
msgid "User does not have permission to view this model"
msgstr "Brukeren har ikke rettigheter til å se denne modellen"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Feildetaljer kan finnes i admin-panelet"
@@ -39,9 +39,9 @@ msgstr "Oppgi dato"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Fil mangler"
msgid "Missing external link"
msgstr "Mangler eksternlenke"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Velg fil å legge ved"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Velg fil å legge ved"
msgid "Link"
msgstr "Lenke"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
@@ -259,8 +259,8 @@ msgstr "Kommentar til fil"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Ugyldig valg"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Ugyldig valg"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Navn"
@@ -328,8 +328,8 @@ msgstr "Navn"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Navn"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "overkategori"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Sti"
@@ -400,12 +400,12 @@ msgstr "Serverfeil"
msgid "An error has been logged by the server."
msgstr "En feil har blitt logget av serveren."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Må være et gyldig tall"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "URLtil ekstern bildefil"
msgid "Downloading images from remote URL is not enabled"
msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tsjekkisk"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Dansk"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Tysk"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Gresk"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Engelsk"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spansk"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spansk (Meksikansk)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Persisk"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Fransk"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebraisk"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Ungarsk"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italiensk"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japansk"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreansk"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Nederlandsk"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norsk"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polsk"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugisisk"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugisisk (Brasil)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russisk"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Slovensk"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Svensk"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thailandsk"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Tyrkisk"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamesisk"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Kinesisk"
@@ -854,7 +854,7 @@ msgstr "Bygg ordrereferanse"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Build order som denne build er tildelt til"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Produksjonsstatuskode"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batchkode"
@@ -994,7 +994,7 @@ msgstr "Batchkode"
msgid "Batch code for this build output"
msgstr "Batchkode for denne produksjonsartikkelen"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Brukeren som utstede denne prosjekt order"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Ekstern lenke"
@@ -1143,7 +1143,7 @@ msgstr "Kildelagervare"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Kildelagervare"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Angi antall for produksjonsartikkel"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1376,8 +1376,8 @@ msgstr "Nødvendig produksjonsmengde er ikke nådd"
msgid "Build order has incomplete outputs"
msgstr "Produksjonsordren har uferdige artikler"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Stykklisteartikkel"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Fullført"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Kopier designmaler for kategoriparametere"
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier parametermaler for kategori ved oppretting av en del"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Mal"
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Sammenstilling"
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Komponent"
@@ -2217,7 +2217,7 @@ msgstr "Komponent"
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Kjøpbar"
@@ -2225,7 +2225,7 @@ msgstr "Kjøpbar"
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Salgbar"
@@ -2234,7 +2234,7 @@ msgstr "Salgbar"
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Sporbar"
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr "Maksimal lengdegrense for strenger vist i tabeller"
msgid "Price break quantity"
msgstr "Antall for prisbrudd"
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Pris"
@@ -3203,7 +3204,7 @@ msgstr "Endepunktet hvor denne webhooken er mottatt"
msgid "Name for this webhook"
msgstr "Navn for webhooken"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr "Les"
msgid "Was this news item read?"
msgstr "Er dette nyhetselementet lest?"
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Bilde"
@@ -3313,28 +3314,28 @@ msgstr "Bilde"
msgid "Image file"
msgstr "Bildefil"
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr "Ny {verbose_name}"
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "En ny ordre har blitt opprettet og tilordnet til deg"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Artikler mottatt"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Artikler har blitt mottatt mot en innkjøpsordre"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr "Artikler har blitt mottatt mot en returordre"
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Feil oppstått i utvidelse"
@@ -3469,7 +3470,7 @@ msgstr "Standardvaluta brukt for dette firmaet"
msgid "Company"
msgstr "Firma"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Parameternavn"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Verdi"
msgid "Parameter value"
msgstr "Parameterverdi"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "Leverandørens delbeskrivelse"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "Leverandørens delbeskrivelse"
msgid "Note"
msgstr "Notat"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "grunnkostnad"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "Pakkeantall"
msgid "Unit quantity supplied in a single pack"
msgstr "Enhetsantall levert i én pakke"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "flere"
@@ -3725,8 +3726,8 @@ msgstr "Slett bilde"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr "Kontakter"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Total pris"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr "Innkjøpsordre"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Ukjent"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Total pris"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr "Total pris for denne ordren"
@@ -4419,7 +4421,7 @@ msgstr "Mottatt"
msgid "Number of items received"
msgstr "Antall enheter mottatt"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr "Oppdaterte {part} enhetspris to {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Oppdaterte {part} enhetspris til {price} og antall til {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variant av"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Standard nøkkelord for deler i denne kategorien"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "Ikon"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "Ikon (valgfritt)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Du kan ikke gjøre denne delkategorien strukturell fordi noen deler allerede er tilordnet den!"
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Ugyldig valg for overordnet del"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Del '{p1}' er brukt i stykklisten til '{p2}' (rekursivt)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "Internt delnummer må matche regex-mønster {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr "Lagervare med dette serienummeret eksisterer allerede"
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "Duplikat av internt delnummer er ikke tillatt i delinnstillinger"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Del med dette Navnet, internt delnummer og Revisjon eksisterer allerede."
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Deler kan ikke tilordnes strukturelle delkategorier!"
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Delnavn"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Er Mal"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Er delen en maldel?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Er delen en variant av en annen del?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr "Delbeskrivelse (valgfritt)"
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "Del-nøkkelord for å øke synligheten i søkeresultater"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater"
msgid "Category"
msgstr "Kategori"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Delkategori"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Internt delnummer"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Delrevisjon eller versjonsnummer"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "Hvor er denne artikkelen vanligvis lagret?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Standard leverandør"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Standard leverandørdel"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Standard utløp"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr "Utløpstid (i dager) for lagervarer av denne delen"
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Minimum tillatt lagernivå"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr "Måleenheter for denne delen"
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Kan denne delen bygges fra andre deler?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Kan denne delen brukes til å bygge andre deler?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Har denne delen sporing av unike artikler?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Kan denne delen kjøpes inn fra eksterne leverandører?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Kan denne delen selges til kunder?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Er denne delen aktiv?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Er dette en virtuell del, som et softwareprodukt eller en lisens?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr "Kontrollsum for stykkliste"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr "Lagret sjekkliste-kontrollsum"
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr "Stykkliste sjekket av"
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr "Stykkliste sjekket dato"
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Opprettingsbruker"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr "Bruker ansvarlig for denne delen"
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Siste lagertelling"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Selg flere"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr "Valuta som brukes til å bufre prisberegninger"
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr "Minimal stykklistekostnad"
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr "Minste kostnad for komponentdeler"
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr "Maksimal stykklistekostnad"
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr "Maksimal kostnad for komponentdeler"
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "Minimal innkjøpskostnad"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr "Minimal historisk innkjøpskostnad"
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr "Maksimal innkjøpskostnad"
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr "Maksimal historisk innkjøpskostnad"
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr "Minimal intern pris"
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr "Minimal kostnad basert på interne prisbrudd"
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr "Maksimal intern pris"
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr "Maksimal kostnad basert på interne prisbrudd"
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr "Minimal leverandørpris"
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr "Minimumspris for del fra eksterne leverandører"
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr "Maksimal leverandørpris"
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr "Maksimalpris for del fra eksterne leverandører"
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr "Minimal Variantkostnad"
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr "Beregnet minimal kostnad for variantdeler"
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr "Maksimal Variantkostnad"
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr "Beregnet maksimal kostnad for variantdeler"
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr "Beregnet samlet minimal kostnad"
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr "Beregnet samlet maksimal kostnad"
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr "Minimal salgspris"
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr "Minimal salgspris basert på prisbrudd"
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr "Maksimal Salgspris"
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr "Maksimal salgspris basert på prisbrudd"
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr "Minimal Salgskostnad"
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr "Minimal historisk salgspris"
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr "Maksimal Salgskostnad"
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr "Maksimal historisk salgspris"
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr "Del for varetelling"
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr "Antall"
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling"
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling"
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling"
msgid "Date"
msgstr "Dato"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr "Dato for utført lagertelling"
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "Flere notater"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr "Bruker som utførte denne lagertellingen"
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr "Minimal lagerkostnad"
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr "Estimert minimal kostnad for lagerbeholdning"
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr "Maksimal lagerkostnad"
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr "Estimert maksimal kostnad for lagerbeholdning"
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr "Rapport"
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr "Lagertellingsrapportfil (generert internt)"
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr "Antall deler"
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr "Antall deler dekket av varetellingen"
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr "Bruker som forespurte varetellingsrapporten"
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr "Testmaler kan bare bli opprettet for sporbare deler"
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr "Test med dette navnet finnes allerede for denne delen"
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Testnavn"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr "Angi et navn for testen"
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Testbeskrivelse"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Legg inn beskrivelse for denne testen"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Påkrevd"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "Er det påkrevd at denne testen bestås?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Krever verdi"
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr "Krever denne testen en verdi når det legges til et testresultat?"
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Krever vedlegg"
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Krever denne testen et filvedlegg når du legger inn et testresultat?"
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "Navn på parametermal må være unikt"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Parameternavn"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Parameterenheter"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr "Parameterbeskrivelse"
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Overordnet del"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parametermal"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Data"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Parameterverdi"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Standardverdi"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Standard Parameterverdi"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr "Del-ID eller delnavn"
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr "Unik del-ID-verdi"
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "Delens interne delnummerverdi"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Nivå"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr "Stykklistenivå"
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Velg overordnet del"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Underordnet del"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Velg del som skal brukes i stykkliste"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr "Stykklisteantall for denne stykklisteartikkelen"
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr "Stykklisteantall for denne stykklisteartikkelen"
msgid "Optional"
msgstr "Valgfritt"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Denne stykklisteartikkelen er valgfri"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Forbruksvare"
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Denne sykklisteartikkelen er forbruksvare (den spores ikke i produksjonsordrer)"
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Svinn"
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Forventet produksjonssvinn (absolutt eller prosent)"
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr "Stykklisteartikkel-referanse"
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Stykklisteartikkel-notater"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr "Kontrollsum"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr "Stykklistelinje kontrollsum"
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Godkjent"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr "Denne stykklisteartikkelen er godkjent"
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Arves"
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Denne stykklisteartikkelen er arvet fra stykkliste for variantdeler"
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Tillat Varianter"
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Lagervarer for variantdeler kan brukes for denne stykklisteartikkelen"
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr "Antall må være heltallsverdi for sporbare deler"
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr "Underordnet del må angis"
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr "Stykklisteartikkel-erstatning"
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr "Erstatningsdel kan ikke være samme som hoveddelen"
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr "Overordnet stykklisteartikkel"
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Erstatningsdel"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Del 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Del 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "Velg relatert del"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv"
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr "Duplikatforhold eksisterer allerede"
@@ -7295,7 +7297,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr "Testresultater"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Test"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Batchkode for denne lagervaren"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Lagerantall"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Kildeproduksjon"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr "Produksjon for denne lagervaren"
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Kildeinnkjøpsordre"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Innkjøpsordre for denne lagervaren"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Tildelt Salgsordre"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Utløpsdato for lagervare. Lagerbeholdning vil bli ansett som utløpt etter denne datoen"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Slett når oppbrukt"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Slett lagervaren når beholdningen er oppbrukt"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr "Innkjøpspris per enhet på kjøpstidspunktet"
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr "Konvertert til del"
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "Delen er ikke angitt som sporbar"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "Antall må være heltall"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "Serienumre må være en liste over tall"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "Antallet stemmer ikke overens med serienumrene"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Seriernummer eksisterer allerede"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "Lagervare har blitt tildelt en salgsordre"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr "Lagervare er montert i en annen artikkel"
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr "Lagervare inneholder andre artikler"
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr "Lagervare har blitt tildelt til en kunde"
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr "Lagervare er for tiden i produksjon"
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr "Serialisert lagerbeholdning kan ikke slås sammen"
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr "Duplisert lagervare"
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr "Lagervarer må referere til samme del"
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr "Lagervarer må referere til samme leverandørdel"
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr "Lagerstatuskoder må være like"
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Lagervare kan ikke flyttes fordi den ikke er på lager"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Oppføringsnotater"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Verdi må angis for denne testen"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr "Vedlegg må lastes opp for denne testen"
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Testnavn"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr "Testresultat"
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr "Testens verdi"
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr "Vedlegg til testresultat"
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr "Testnotater"
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr "Klikk på følgende lenke for å se denne delen"
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Minimum antall"
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "Subcategories"
+msgid "No subcategories found"
+msgstr "Underkategorier"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index 85b69d43a9..ed1e1ebaf9 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
@@ -25,7 +25,7 @@ msgstr "Nie znaleziono punktu końcowego API"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Szczegóły błędu można znaleźć w panelu administracyjnym"
@@ -39,9 +39,9 @@ msgstr "Wprowadź dane"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Brak pliku"
msgid "Missing external link"
msgstr "Brak zewnętrznego odnośnika"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Wybierz plik do załączenia"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Wybierz plik do załączenia"
msgid "Link"
msgstr "Łącze"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
@@ -259,8 +259,8 @@ msgstr "Komentarz pliku"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Błędny wybór"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Błędny wybór"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Nazwa"
@@ -328,8 +328,8 @@ msgstr "Nazwa"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Nazwa"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "nadrzędny"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Ścieżka"
@@ -400,12 +400,12 @@ msgstr "Błąd serwera"
msgid "An error has been logged by the server."
msgstr "Błąd został zapisany w logach serwera."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "Adres URL zdalnego pliku obrazu"
msgid "Downloading images from remote URL is not enabled"
msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Czeski"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Duński"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Niemiecki"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Grecki"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Angielski"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Hiszpański"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Hiszpański (Meksyk)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Perski"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francuski"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebrajski"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Węgierski"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Włoski"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japoński"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreański"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Holenderski"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norweski"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polski"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugalski"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugalski (Brazylijski)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Rosyjski"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Słoweński"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Szwedzki"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Tajski"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turecki"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Wietnamski"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Chiński"
@@ -854,7 +854,7 @@ msgstr "Odwołanie do zamówienia wykonania"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Kod statusu budowania"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Kod partii"
@@ -994,7 +994,7 @@ msgstr "Kod partii"
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Użytkownik, który wydał to zamówienie"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Link Zewnętrzny"
@@ -1143,7 +1143,7 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Element BOM"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Zakończone"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Szablon"
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Złożenie"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Komponent"
@@ -2217,7 +2217,7 @@ msgstr "Komponent"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Możliwość zakupu"
@@ -2225,7 +2225,7 @@ msgstr "Możliwość zakupu"
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Możliwość sprzedaży"
@@ -2234,7 +2234,7 @@ msgstr "Możliwość sprzedaży"
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Możliwość śledzenia"
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Cena"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Obraz"
@@ -3313,28 +3314,28 @@ msgstr "Obraz"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr "Firma"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Wartość"
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "wielokrotność"
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Cena całkowita"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Cena całkowita"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr "Odebrane"
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID komponentu"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "Nazwa komponentu"
@@ -5157,19 +5159,19 @@ msgstr "Nazwa komponentu"
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Wersja"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Słowa kluczowe"
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Wariant"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
@@ -5226,11 +5228,11 @@ msgstr "Przydzielono"
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr "Ścieżka kategorii"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Części"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr "IPN komponentu"
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr "Ta opcja musi być zaznaczona"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Domyślna lokalizacja"
@@ -5330,7 +5332,7 @@ msgstr "Dostępna ilość"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
@@ -5341,95 +5343,95 @@ msgstr "Kategoria komponentu"
msgid "Part Categories"
msgstr "Kategorie części"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Domyślna lokalizacja dla komponentów w tej kategorii"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Domyślne słowa kluczowe"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Nieprawidłowy wybór dla części nadrzędnej"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN musi być zgodny z wyrażeniem regularnym {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Czy ta część stanowi szablon części?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Czy ta część może być użyta do budowy innych części?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Czy ta część wymaga śledzenia każdego towaru z osobna?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Czy to wirtualna część, taka jak oprogramowanie lub licencja?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Ostatnia inwentaryzacja"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr "Data"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Dane"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Poziom"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Zatwierdzone"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr "Razem"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Wynik"
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Zainstalowane w"
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr "Lokacje stanu magazynowego"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Właściciel"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Wybierz właściciela"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Nadrzędny towar"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Część podstawowa"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Wybierz pasującą część dostawcy dla tego towaru"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Ilość w magazynie"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Usuń po wyczerpaniu"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "Ilość musi być liczbą całkowitą"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Ilość nie może przekraczać dostępnej ilości towaru ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Notatki do wpisu"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Należy podać wartość dla tego testu"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Nazwa testu"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr "Wynik testu"
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Minimalna ilość"
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr "Wybierz"
@@ -10682,7 +10684,7 @@ msgstr "Nie znaleziono części"
msgid "No category"
msgstr "Brak kategorii"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Wyświetl jako listę"
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "Nie znaleziono zamówień sprzedaży"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Wyświetl jako drzewo"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr "Obserwowana kategoria"
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr "Uprawnienie do edycji przedmiotów"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Uprawnienie do usuwania przedmiotów"
-
diff --git a/InvenTree/locale/pt/LC_MESSAGES/django.po b/InvenTree/locale/pt/LC_MESSAGES/django.po
index bc77552762..401926d662 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
@@ -25,7 +25,7 @@ msgstr "API endpoint não encontrado"
msgid "User does not have permission to view this model"
msgstr "Usuário não tem permissão para ver este modelo"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Detalhes do erro podem ser encontrados no painel de administrador"
@@ -39,9 +39,9 @@ msgstr "Insira uma Data"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Arquivo nao encontrado"
msgid "Missing external link"
msgstr "Link externo nao encontrado"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Selecione arquivo para anexar"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Selecione arquivo para anexar"
msgid "Link"
msgstr "Link"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Link para URL externa"
@@ -259,8 +259,8 @@ msgstr "Comentario sobre arquivo"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Escolha inválida"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Escolha inválida"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Nome"
@@ -328,8 +328,8 @@ msgstr "Nome"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Nome"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "parent"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Caminho"
@@ -400,12 +400,12 @@ msgstr "Erro de servidor"
msgid "An error has been logged by the server."
msgstr "Log de erro salvo pelo servidor."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Preicsa ser um numero valido"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tcheco"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Dinamarquês"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Alemão"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Grego"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Inglês"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Espanhol"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Espanhol (Mexicano)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Persa"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francês"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebraico"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Húngaro"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italiano"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japonês"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Coreano"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Holandês"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norueguês"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polonês"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Português"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Português (Brasileiro)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Russo"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Esloveno"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Sueco"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Tailandês"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turco"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamita"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Chinês"
@@ -854,7 +854,7 @@ msgstr "Referência do pedido de produção"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Ordem de produção para qual este serviço está alocado"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Código de situação da produção"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Código de Lote"
@@ -994,7 +994,7 @@ msgstr "Código de Lote"
msgid "Batch code for this build output"
msgstr "Código do lote para esta saída de produção"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Usuário que emitiu esta ordem de produção"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "Usuário ou grupo responsável para esta ordem de produção"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Link Externo"
@@ -1143,7 +1143,7 @@ msgstr "Origem do item em estoque"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Origem do item em estoque"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Entre a quantidade da saída de produção"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Quantidade deve ser maior que zero"
@@ -1376,8 +1376,8 @@ msgstr "Quantidade de produção requerida não foi concluída"
msgid "Build order has incomplete outputs"
msgstr "Pedido de produção tem saídas incompletas"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "Item LDM"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Concluído"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Copiar Parâmetros dos Modelos de Categoria"
msgid "Copy category parameter templates when creating a part"
msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Modelo"
msgid "Parts are templates by default"
msgstr "Peças são modelos por padrão"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Montagem"
msgid "Parts can be assembled from other components by default"
msgstr "Peças podem ser montadas a partir de outros componentes por padrão"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Componente"
@@ -2217,7 +2217,7 @@ msgstr "Componente"
msgid "Parts can be used as sub-components by default"
msgstr "Peças podem ser usadas como sub-componentes por padrão"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Comprável"
@@ -2225,7 +2225,7 @@ msgstr "Comprável"
msgid "Parts are purchaseable by default"
msgstr "Peças são compráveis por padrão"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Vendível"
@@ -2234,7 +2234,7 @@ msgstr "Vendível"
msgid "Parts are salable by default"
msgstr "Peças vão vendíveis por padrão"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Rastreável"
msgid "Parts are trackable by default"
msgstr "Peças vão rastreáveis por padrão"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr "Limite máximo de comprimento para frases exibidas nas visualizações d
msgid "Price break quantity"
msgstr "Quantidade de Parcelamentos"
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Preço"
@@ -3203,7 +3204,7 @@ msgstr "Ponto final em qual o gancho web foi recebido"
msgid "Name for this webhook"
msgstr "Nome para este webhook"
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr "Lida"
msgid "Was this news item read?"
msgstr "Esta notícia do item foi lida?"
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Imagem"
@@ -3313,28 +3314,28 @@ msgstr "Imagem"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr "Novo {verbose_name}"
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "Um novo pedido foi criado e atribuído a você"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr "Itens Recebidos"
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr "Os itens de um pedido de compra foram recebidos"
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr "Os itens de um pedido de devolução foram recebidos"
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr "Erro criado pela extensão"
@@ -3469,7 +3470,7 @@ msgstr "Moeda padrão utilizada para esta empresa"
msgid "Company"
msgstr "Empresa"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Nome do parâmetro"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Valor"
msgid "Parameter value"
msgstr "Valor do Parâmetro"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "Descrição da peça fornecedor"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "Descrição da peça fornecedor"
msgid "Note"
msgstr "Anotação"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "preço base"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Taxa mínima (ex.: taxa de estoque)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "Quantidade de embalagens"
msgid "Unit quantity supplied in a single pack"
msgstr "Quantidade fornecida em um único pacote"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "múltiplo"
@@ -3725,8 +3726,8 @@ msgstr "Excluir imagem"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr "Contatos"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr "Filtros de consulta (lista de valores separados por vírgula"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "Filtros de consulta de peça (lista de valores separados por vírgula)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Preço Total"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr "Nenhum pedido de compra correspondente encontrado"
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr "Nenhum pedido de compra correspondente encontrado"
msgid "Purchase Order"
msgstr "Pedido de Compra"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "Desconhecido"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Preço Total"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr "Preço total deste pedido"
@@ -4419,7 +4421,7 @@ msgstr "Recebido"
msgid "Number of items received"
msgstr "Número de itens recebidos"
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr "Atualizado {part} unid.-preço para {price}"
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "Atualizado {part} unid.-preço para {price} e quantidade para {qty}"
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "ID da Peça"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "Nome da Peça"
@@ -5157,19 +5159,19 @@ msgstr "Nome da Peça"
msgid "Part Description"
msgstr "Descrição da Peça"
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr "IPN"
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Revisão"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Palavras chave"
@@ -5190,11 +5192,11 @@ msgstr "ID Local Padrão"
msgid "Default Supplier ID"
msgstr "ID de Fornecedor Padrão"
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Variante de"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Estoque Mínimo"
@@ -5226,11 +5228,11 @@ msgstr "Alocado"
msgid "Building"
msgstr "Produzindo"
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr "Custo Mínimo"
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr "Custo Máximo"
@@ -5247,13 +5249,13 @@ msgstr "Nome Paternal"
msgid "Category Path"
msgstr "Caminho da Categoria"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Peças"
@@ -5270,7 +5272,7 @@ msgstr "ID Item LDM"
msgid "Parent IPN"
msgstr "IPN Paternal"
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr "IPN da Peça"
@@ -5312,7 +5314,7 @@ msgstr "Validar a Lista de Materiais completa"
msgid "This option must be selected"
msgstr "Esta opção deve ser selecionada"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Local Padrão"
@@ -5330,7 +5332,7 @@ msgstr "Estoque Disponível"
msgid "Input quantity for price calculation"
msgstr "Quantidade para o cálculo de preço"
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria da Peça"
@@ -5341,95 +5343,95 @@ msgstr "Categoria da Peça"
msgid "Part Categories"
msgstr "Categorias de Peça"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Local padrão para peças desta categoria"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr "Estrutural"
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr "Peças não podem ser diretamente atribuídas a uma categoria estrutural, mas podem ser atribuídas a categorias filhas."
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Palavras-chave Padrão"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Palavras-chave padrão para peças nesta categoria"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "Ícone"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "Ícone (opcional)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr "Você não pode tornar esta categoria em estrutural, pois, algumas partes já estão alocadas!"
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr "Escolha inválida para peça parental"
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Parte '{p1}' é usada na LDM para '{p2}' (recursiva)"
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN deve corresponder ao padrão regex {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr "Item em estoque com este número de série já existe"
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "Não é permitido duplicar IPN em configurações de partes"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr "Uma parte com este Nome, IPN e Revisão já existe."
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr "Peças não podem ser atribuídas a categorias estruturais!"
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Nome da peça"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "É um modelo"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Esta peça é uma peça modelo?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Esta peça é variante de outra peça?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa"
msgid "Category"
msgstr "Categoria"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Categoria da Peça"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Numero interno do produto"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Revisão de peça ou número de versão"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "Onde este item é armazenado normalmente?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Fornecedor Padrão"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Fornecedor padrão da peça"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr "Validade Padrão"
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr "Validade (em dias) para itens do estoque desta peça"
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Nível mínimo de estoque permitido"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr "Unidade de medida para esta peça"
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Essa peça pode ser construída a partir de outras peças?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Essa peça pode ser usada para construir outras peças?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Esta parte tem rastreamento para itens únicos?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Esta peça pode ser comprada de fornecedores externos?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Esta peça pode ser vendida a clientes?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Esta parte está ativa?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Esta é uma peça virtual, como um software de produto ou licença?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr "Soma de Verificação da LDM"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr "Soma de verificação da LDM armazenada"
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr "LDM conferida por"
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr "LDM verificada no dia"
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Criação de Usuário"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr "Usuário responsável por esta peça"
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr "Último Balanço"
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr "Venda múltipla"
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr "Moeda usada para armazenar os cálculos de preços"
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr "Custo Mínimo da LDM"
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr "Custo mínimo das peças componentes"
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr "Custo Máximo da LDM"
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr "Custo máximo das peças componentes"
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "Custo Mínimo de Compra"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr "Custo mínimo histórico de compra"
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr "Custo Máximo de Compra"
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr "Custo máximo histórico de compra"
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr "Preço Interno Mínimo"
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr "Custo mínimo baseado nos intervalos de preço internos"
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr "Preço Interno Máximo"
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr "Custo máximo baseado nos intervalos de preço internos"
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr "Preço Mínimo do Fornecedor"
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr "Preço mínimo da peça de fornecedores externos"
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr "Preço Máximo do Fornecedor"
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr "Preço máximo da peça de fornecedores externos"
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr "Custo Mínimo variável"
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr "Custo mínimo calculado das peças variáveis"
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr "Custo Máximo Variável"
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr "Custo máximo calculado das peças variáveis"
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr "Custo total mínimo calculado"
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr "Custo total máximo calculado"
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr "Preço Mínimo de Venda"
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr "Preço mínimo de venda baseado nos intervalos de preço"
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr "Preço Máximo de Venda"
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr "Preço máximo de venda baseado nos intervalos de preço"
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr "Custo Mínimo de Venda"
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr "Preço histórico mínimo de venda"
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr "Custo Máximo de Venda"
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr "Preço histórico máximo de venda"
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr "Peça para Balanço"
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr "Total de Itens"
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr "Número de entradas de estoques individuais no momento do balanço"
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr "Estoque total disponível no momento do balanço"
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr "Estoque total disponível no momento do balanço"
msgid "Date"
msgstr "Data"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr "Data de realização do balanço"
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "Notas adicionais"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr "Usuário que fez o balanço"
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr "Custo Mínimo de Estoque"
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr "Custo mínimo estimado de estoque disponível"
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr "Custo Máximo de Estoque"
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr "Custo máximo estimado de estoque disponível"
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr "Reportar"
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr "Arquivo de Relatório de Balanço (gerado internamente)"
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr "Contagem de Peças"
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr "Número de peças cobertas pelo Balanço"
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr "Usuário que solicitou este relatório de balanço"
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr "Modelos de teste só podem ser criados para peças rastreáveis"
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr "O teste com este nome já existe para esta peça"
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Nome de Teste"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr "Insira um nome para o teste"
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Descrição do Teste"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr "Digite a descrição para este teste"
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Requerido"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "Este teste é obrigatório passar?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr "Requer Valor"
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr "Este teste requer um valor ao adicionar um resultado de teste?"
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr "Anexo obrigatório"
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr "Este teste requer um anexo ao adicionar um resultado de teste?"
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "Nome do modelo de parâmetro deve ser único"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr "Nome do Parâmetro"
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr "Unidades do Parâmetro"
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr "Descrição do Parâmetro"
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Peça Paternal"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Modelo de parâmetro"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr "Dados"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr "Valor do Parâmetro"
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "Valor Padrão"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr "Valor Padrão do Parâmetro"
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr "ID da peça ou nome da peça"
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr "Valor exclusivo do ID de peça"
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "Valor da parte IPN"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr "Nível"
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr "Nível da LDM"
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Selecione a Peça Parental"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "Sub peça"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Selecionar peça a ser usada na LDM"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr "Quantidade de LDM para este item LDM"
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr "Quantidade de LDM para este item LDM"
msgid "Optional"
msgstr "Opcional"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr "Este item LDM é opcional"
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr "Consumível"
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr "Este item LDM é consumível (não é rastreado nos pedidos de construção)"
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Excedente"
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Quantidade estimada de desperdício (absoluto ou porcentagem)"
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr "Referência do Item LDM"
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr "Notas do Item LDM"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr "Soma de verificação"
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr "Soma de Verificação da LDM da linha"
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr "Validado"
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr "O item da LDM foi calidado"
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr "Obtém herdados"
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Este item da LDM é herdado por LDMs para peças variáveis"
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Permitir variações"
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr "Itens de estoque para as peças das variantes podem ser usados para este item LDM"
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr "Quantidade deve ser valor inteiro para peças rastreáveis"
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr "Sub peça deve ser especificada"
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr "Substituir Item da LDM"
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr "A peça de substituição não pode ser a mesma que a peça mestre"
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr "Item LDM Parental"
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr "Substituir peça"
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Parte 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Parte 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "Selecionar Peça Relacionada"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr "Relacionamento da peça não pode ser criada com ela mesma"
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr "Relação duplicada já existe"
@@ -7295,7 +7297,7 @@ msgstr "Total"
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr "Resultados do teste"
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr "Teste"
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr "Resultado"
@@ -7390,7 +7392,7 @@ msgstr "Nome do Fornecedor"
msgid "Customer ID"
msgstr "ID Cliente"
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr "Instalado em"
@@ -7415,7 +7417,7 @@ msgstr "Revisão Necessária"
msgid "Delete on Deplete"
msgstr "Excluir quando esgotado"
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr "Uma peça válida deve ser fornecida"
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Números de série não podem ser fornecidos para uma parte não rastreável"
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Localizacao do estoque"
msgid "Stock Locations"
msgstr "Locais de estoque"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr "Responsavel"
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr "Selecionar Responsável"
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr "Os itens de estoque podem não estar diretamente localizados em um local de estoque estrutural, mas podem ser localizados em locais filhos."
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr "Externo"
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr "Esta é uma localização de estoque externo"
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr "Você não pode tornar este local do estoque estrutural, pois alguns itens de estoque já estão localizados nele!"
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!"
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr "Item de estoque não pode ser criado para peças virtuais"
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "Tipo da peça ('{pf}') deve ser {pe}"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "A quantidade deve ser 1 para um item com número de série"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Número de série não pode ser definido se quantidade maior que 1"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr "O item não pode pertencer a si mesmo"
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr "Item deve ter uma referência de produção se is_building=True"
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr "Referência de produção não aponta ao mesmo objeto da peça"
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Item de Estoque Parental"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Peça base"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Selecione uma peça do fornecedor correspondente para este item de estoque"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr "Onde está localizado este item de estoque?"
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr "Embalagem deste item de estoque está armazenado em"
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr "Este item está instalado em outro item?"
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Número de série para este item"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Código do lote para este item de estoque"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr "Quantidade de Estoque"
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Produção de Origem"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr "Produção para este item de estoque"
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr "Pedido de compra Fonte"
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr "Pedido de Compra para este item de estoque"
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr "Destino do Pedido de Venda"
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr "Data de validade para o item de estoque. Estoque será considerado expirado após este dia"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Excluir quando esgotado"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Excluir este item de estoque quando o estoque for esgotado"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr "Preço de compra unitário único no momento da compra"
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr "Convertido para peça"
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "Peça não está definida como rastreável"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr "Quantidade deve ser inteira"
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({n})"
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "Números de série devem ser uma lista de números inteiros"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "A quantidade não corresponde aos números de série"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr "Item em estoque foi reservado para um pedido"
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr "Item em estoque está instalado em outro item"
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr "item em estoque contem outro(s) items"
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr "Item em estoque foi reservado para outro cliente"
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr "Item no estoque está em produção no momento"
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr "Itens de série não podem ser mesclados"
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr "Item de estoque duplicado"
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr "Itens de estoque devem se referir à mesma peça"
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr "Itens de estoque devem se referir à mesma peça do fornecedor"
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr "Códigos de estado do estoque devem corresponder"
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Item do estoque não pode ser realocado se não houver estoque da mesma"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr "Observações de entrada"
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr "Deve-se fornecer o valor desse teste"
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr "O anexo deve ser enviado para este teste"
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr "Nome de teste"
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No author found"
+msgid "No subcategories found"
+msgstr "Nenhum autor encontrado"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index 87dbefec55..624a54f01e 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 13:19+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -26,7 +26,7 @@ msgstr ""
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -40,9 +40,9 @@ msgstr ""
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -218,7 +218,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -231,7 +231,7 @@ msgstr ""
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -244,8 +244,8 @@ msgstr ""
msgid "Link"
msgstr ""
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr ""
@@ -260,8 +260,8 @@ msgstr ""
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -306,8 +306,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -318,7 +318,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr ""
@@ -329,8 +329,8 @@ msgstr ""
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -345,7 +345,7 @@ msgstr ""
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -365,7 +365,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -401,12 +401,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr ""
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -479,107 +479,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr ""
@@ -855,7 +855,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -885,10 +885,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -987,7 +987,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -995,7 +995,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1031,7 +1031,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1048,7 +1048,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1144,7 +1144,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1166,7 +1166,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1225,7 +1225,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1377,8 +1377,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1619,7 +1619,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2188,7 +2188,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2198,7 +2198,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2209,7 +2209,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2218,7 +2218,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2226,7 +2226,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2235,7 +2235,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2246,7 +2246,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3181,9 +3181,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3204,7 +3205,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3306,7 +3307,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3314,28 +3315,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3470,7 +3471,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3532,7 +3533,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3542,8 +3543,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3601,7 +3602,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3610,16 +3611,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3646,7 +3647,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3726,8 +3727,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4006,7 +4007,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4203,11 +4204,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4221,18 +4231,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4420,7 +4422,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5144,12 +5146,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5158,19 +5160,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5191,11 +5193,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5227,11 +5229,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5248,13 +5250,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5271,7 +5273,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5313,7 +5315,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5331,7 +5333,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5342,95 +5344,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5438,249 +5440,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5693,181 +5695,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5875,113 +5877,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7296,7 +7298,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7318,12 +7320,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7391,7 +7393,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7416,7 +7418,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7438,7 +7440,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7450,239 +7452,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9296,7 +9298,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9970,7 +9972,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10683,7 +10685,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10708,72 +10710,76 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+msgid "No subcategories found"
+msgstr ""
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index 4d7948d8a6..949f39bb9a 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
@@ -25,7 +25,7 @@ msgstr "Конечная точка API не обнаружена"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Подробности об ошибке можно найти в панели администратора"
@@ -39,9 +39,9 @@ msgstr "Введите дату"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Файл не найден"
msgid "Missing external link"
msgstr "Отсутствует внешняя ссылка"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Выберите файл для вложения"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Выберите файл для вложения"
msgid "Link"
msgstr "Ссылка"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
@@ -259,8 +259,8 @@ msgstr "Комментарий к файлу"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Неверный выбор"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Неверный выбор"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Название"
@@ -328,8 +328,8 @@ msgstr "Название"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Название"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "родитель"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Путь"
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Чешский"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Датский"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Немецкий"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Греческий"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Английский"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Испанский"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Испанский (Мексика)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Фарси / Персидский"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Французский"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Иврит"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Венгерский"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Итальянский"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Японский"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Корейский"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Голландский"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Норвежский"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Польский"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Португальский"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Португальский (Бразильский диалект)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Русский"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Словенский"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Шведский"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Тайский"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Турецкий"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Вьетнамский"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Китайский"
@@ -854,7 +854,7 @@ msgstr "Ссылка на заказ"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Код статуса сборки"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Код партии"
@@ -994,7 +994,7 @@ msgstr "Код партии"
msgid "Batch code for this build output"
msgstr "Код партии для этого вывода сборки"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Пользователь, выпустивший этот заказ н
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Внешняя ссылка"
@@ -1143,7 +1143,7 @@ msgstr "Исходный складской предмет"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Исходный складской предмет"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Введите количество для вывода сборки"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "BOM Компонент"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Завершённые"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Шаблон"
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Сборка"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Компонент"
@@ -2217,7 +2217,7 @@ msgstr "Компонент"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Можно продавать"
@@ -2234,7 +2234,7 @@ msgstr "Можно продавать"
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Отслеживание"
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Цена"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Изображение"
@@ -3313,28 +3314,28 @@ msgstr "Изображение"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr "Для этой компании используется валюта
msgid "Company"
msgstr "Компания"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Наименование параметра"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Значение"
msgid "Parameter value"
msgstr "Значение параметра"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr "Заметка"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr "Общая стоимость"
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr "Общая стоимость"
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "Артикул"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "Наименование детали"
@@ -5157,19 +5159,19 @@ msgstr "Наименование детали"
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Версия"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Ключевые слова"
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Разновидность"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Минимальный запас"
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr "Путь к категории"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Детали"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr "IPN"
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Место хранения по умолчанию"
@@ -5330,7 +5332,7 @@ msgstr "Доступный запас"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
@@ -5341,95 +5343,95 @@ msgstr "Категория детали"
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Место хранения по умолчанию для деталей этой категории"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr "Ключевые слова по умолчанию"
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "Ключевые слова по умолчанию для деталей этой категории"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN должен совпадать с регулярным выражением {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном для других деталей?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "Ключевые слова для улучшения видимости
msgid "Category"
msgstr "Категория"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "Категория"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "Внутренний код детали"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Версия детали"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Эта деталь актуальна?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Место хранения"
msgid "Stock Locations"
msgstr "Места хранения"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Родительская единица хранения"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr "Базовая деталь"
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr "Код партии для этой единицы хранения"
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr "Исходная сборка"
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr "Удалить при обнулении"
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr "Удалить эту единицу хранения при обнулении складского запаса"
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr "Деталь не является отслеживаемой"
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Серийные номера уже существуют"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr "Минимальное количество"
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr "Детали не найдены"
msgid "No category"
msgstr "Нет категории"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "Список"
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No sales orders found"
+msgid "No subcategories found"
+msgstr "Заказы на продажу не найдены"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "Дерево"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr "Разрешение на редактирование элементо
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Разрешение на удаление элементов"
-
diff --git a/InvenTree/locale/sl/LC_MESSAGES/django.po b/InvenTree/locale/sl/LC_MESSAGES/django.po
index f3f4ca5d2a..747317145f 100644
--- a/InvenTree/locale/sl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sl/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Slovenian\n"
@@ -25,7 +25,7 @@ msgstr "API vmesnik ni najden"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Napaka, podrobnosti vidne v pogledu administratorja"
@@ -39,9 +39,9 @@ msgstr "Vnesi datum"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Manjka datoteka"
msgid "Missing external link"
msgstr "Manjka zunanja povezava"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Izberite prilogo"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Izberite prilogo"
msgid "Link"
msgstr "Povezava"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Zunanja povezava"
@@ -259,8 +259,8 @@ msgstr "Komentar datoteke"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Nedovoljena izbira"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Nedovoljena izbira"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Ime"
@@ -328,8 +328,8 @@ msgstr "Ime"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Ime"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "nadrejen"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Pot"
@@ -400,12 +400,12 @@ msgstr "Napaka strežnika"
msgid "An error has been logged by the server."
msgstr "Zaznana napaka na strežniku."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Mora biti veljavna številka"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Češko"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "Danščina"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Nemščina"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Grščina"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Angleščina"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Španščina"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Španščina (Mehiško)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Perzijsko"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Francoščina"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebrejščina"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Madžarščina"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italijanščina"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japonščina"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Korejščina"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Nizozemščina"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norveščina"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Poljščina"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugalščina"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugalščina (Brazilsko)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Ruščina"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "Slovenščina"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Švedščina"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Tajščina"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turščina"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamščina"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Kitajščina"
@@ -854,7 +854,7 @@ msgstr "Referenca naloga izgradnje"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Nalog izgradnje na katerega se ta izgradnaj nanaša"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Koda statusa izgradnje"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Številka serije"
@@ -994,7 +994,7 @@ msgstr "Številka serije"
msgid "Batch code for this build output"
msgstr "Številka serije za to izgradnjo"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Uporabnik, ki je izdal nalog za izgradnjo"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Zunanja povezava"
@@ -1143,7 +1143,7 @@ msgstr "Izvorna postavka zaloge"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Izvorna postavka zaloge"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "Notranja številka dela se mora ujemati z vzorcem {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "Serijske številke niso najdene"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 58c2c9a5b8..044abdd731 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
@@ -25,7 +25,7 @@ msgstr "API-slutpunkt hittades inte"
msgid "User does not have permission to view this model"
msgstr "Användaren har inte behörighet att se denna modell"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Information om felet finns under Error i adminpanelen"
@@ -39,9 +39,9 @@ msgstr "Ange datum"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Saknad fil"
msgid "Missing external link"
msgstr "Extern länk saknas"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Välj fil att bifoga"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Välj fil att bifoga"
msgid "Link"
msgstr "Länk"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Länk till extern URL"
@@ -259,8 +259,8 @@ msgstr "Fil kommentar"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Ogiltigt val"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Ogiltigt val"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Namn"
@@ -328,8 +328,8 @@ msgstr "Namn"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Namn"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "överordnad"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "Sökväg"
@@ -400,12 +400,12 @@ msgstr "Serverfel"
msgid "An error has been logged by the server."
msgstr "Ett fel har loggats av servern."
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,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:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "Tjeckiska"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Tyska"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Grekiska"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "Engelska"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "Spanska"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "Spanska (Mexikanska)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "Farsi / Persiska"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Franska"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "Hebreiska"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Ungerska"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "Italienska"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japanska"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Koreanska"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Nederländska"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norska"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polska"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "Portugisiska"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "Portugisiska (brasiliansk)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Ryska"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "Svenska"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Thailändska"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Turkiska"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamesiska"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Kinesiska"
@@ -854,7 +854,7 @@ msgstr "Byggorderreferens"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "Byggorder till vilken detta bygge är tilldelad"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Bygg statuskod"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Batchkod"
@@ -994,7 +994,7 @@ msgstr "Batchkod"
msgid "Batch code for this build output"
msgstr "Batch-kod för denna byggutdata"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Användare som utfärdade denna byggorder"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Extern länk"
@@ -1143,7 +1143,7 @@ msgstr "Källa lagervara"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Källa lagervara"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Slutförd"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Artiklar"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN måste matcha regex mönster {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "Inga serienummer hittades"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index b52e1642a4..59cc776945 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 20:00\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
@@ -25,7 +25,7 @@ msgstr ""
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr ""
@@ -39,9 +39,9 @@ msgstr "ป้อนวันที่"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "เลือกไฟล์ที่ต้องการแนบ"
msgid "Link"
msgstr "ลิงก์"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr ""
@@ -259,8 +259,8 @@ msgstr "ความเห็นของไฟล์"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "ชื่อ"
@@ -328,8 +328,8 @@ msgstr "ชื่อ"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "ชื่อ"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr "เกิดข้อผิดพลาดที่เซิร์ฟเ
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "ต้องเป็นตัวเลข"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "ภาษาโปรตุเกส"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "ภาษารัสเซีย"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "ภาษาสวีเดน"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "ภาษาไทย"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "ภาษาเวียดนาม"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "ภาษาจีน"
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr ""
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr ""
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No serial numbers found"
+msgid "No subcategories found"
+msgstr "ไม่พบหมายเลขซีเรียล"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index b7544b9113..cf2436abf1 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
@@ -25,7 +25,7 @@ msgstr "API uç noktası bulunamadı"
msgid "User does not have permission to view this model"
msgstr "Kullanıcının bu modeli görüntüleme izni yok"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Hata detaylarını admin panelinde bulabilirsiniz"
@@ -39,9 +39,9 @@ msgstr "Tarih giriniz"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "Eksik dosya"
msgid "Missing external link"
msgstr "Bozuk dış bağlantı"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Eklenecek dosyayı seç"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Eklenecek dosyayı seç"
msgid "Link"
msgstr "Bağlantı"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
@@ -259,8 +259,8 @@ msgstr "Dosya yorumu"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "Geçersiz seçim"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "Geçersiz seçim"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "Adı"
@@ -328,8 +328,8 @@ msgstr "Adı"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "Adı"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "üst"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "Almanca"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "Yunanca"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "İngilizce"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "İspanyolca"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "İspanyolca(Meksika)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "Fransızca"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "İbranice"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "Macarca"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "İtalyanca"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "Japonca"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "Korece"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "Flemenkçe"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "Norveççe"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "Polonyaca"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "Rusça"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "İsveççe"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "Tay dili"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "Türkçe"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "Vietnamca"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "Çince"
@@ -854,7 +854,7 @@ msgstr "Yapım İşi Emri Referansı"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,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:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "Yapım işi durum kodu"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "Sıra numarası"
@@ -994,7 +994,7 @@ msgstr "Sıra numarası"
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "Harici Bağlantı"
@@ -1143,7 +1143,7 @@ msgstr "Kaynak stok kalemi"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "Kaynak stok kalemi"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "Yapım işi çıktısı için miktarını girin"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr "Gerekli yapım işi miktarı tamamlanmadı"
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Tamamlandı"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "Kategori Paremetre Sablonu Kopyala"
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "Şablon"
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "Montaj"
msgid "Parts can be assembled from other components by default"
msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "Bileşen"
@@ -2217,7 +2217,7 @@ msgstr "Bileşen"
msgid "Parts can be used as sub-components by default"
msgstr "Parçalar varsayılan olarak alt bileşen olarak kullanılabilir"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "Satın Alınabilir"
@@ -2225,7 +2225,7 @@ msgstr "Satın Alınabilir"
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "Satılabilir"
@@ -2234,7 +2234,7 @@ msgstr "Satılabilir"
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "Takip Edilebilir"
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "Fiyat"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "Resim"
@@ -3313,28 +3314,28 @@ msgstr "Resim"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr "Bu şirket için varsayılan para birimi"
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "Parametre adı"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "Değer"
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr "Not"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr "çoklu"
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr "DPN"
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "Revizyon"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "Anahtar kelimeler"
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "Minimum Stok"
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Parçalar"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "Varsayılan Konum"
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr "Parça Kategorileri"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "Bu kategori içindeki parçalar için varsayılan konum"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN regex kalıbıyla eşleşmelidir {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr "Bu parça başka bir parçanın çeşidi mi?"
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr "Bu parça diğer parçaların yapımında kullanılabilir mi?"
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
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:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
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:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:3625
+#: part/models.py:3627
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:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Stok Konumu"
msgid "Stock Locations"
msgstr "Stok Konumları"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr "Seri numarası olan ögenin miktarı bir olmalı"
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr "Miktar birden büyük ise seri numarası ayarlanamaz"
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr "Üst Stok Kalemi"
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr "Bu stok kalemi için tedarikçi parçası seçin"
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr "Bu öge için seri numarası"
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr "Seri numaraları tam sayı listesi olmalı"
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr "Miktar seri numaları ile eşleşmiyor"
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr "Stok kalemi stokta olmadığı için taşınamaz"
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr "Katagori Yok"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "Subcategories"
+msgid "No subcategories found"
+msgstr "Alt kategoriler"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr "Parçaları düzenleme izni"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "Parçaları silme izni"
-
diff --git a/InvenTree/locale/vi/LC_MESSAGES/django.po b/InvenTree/locale/vi/LC_MESSAGES/django.po
index c603c91529..0719a99a61 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
@@ -25,7 +25,7 @@ msgstr "API endpoint không tồn tại"
msgid "User does not have permission to view this model"
msgstr "Người dùng không được phân quyền xem mẫu này"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "Chi tiết lỗi có thể được tìm thấy trong bảng quản trị"
@@ -39,9 +39,9 @@ msgstr "Nhập ngày"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr ""
msgid "Missing external link"
msgstr ""
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "Chọn file đính kèm"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "Chọn file đính kèm"
msgid "Link"
msgstr "Liên kết"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "Liên kết đến URL bên ngoài"
@@ -259,8 +259,8 @@ msgstr "Bình luận tệp tin"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr ""
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr ""
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr ""
@@ -328,8 +328,8 @@ msgstr ""
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr ""
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr ""
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr ""
@@ -400,12 +400,12 @@ msgstr ""
msgid "An error has been logged by the server."
msgstr ""
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr ""
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr ""
msgid "Downloading images from remote URL is not enabled"
msgstr ""
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr ""
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr ""
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr ""
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr ""
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr ""
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr ""
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr ""
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr ""
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr ""
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr ""
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr ""
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr ""
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr ""
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr ""
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr ""
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr ""
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr ""
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr ""
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr ""
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr ""
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr ""
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr ""
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr ""
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr ""
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr ""
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr ""
@@ -854,7 +854,7 @@ msgstr ""
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr ""
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr ""
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr ""
@@ -994,7 +994,7 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr ""
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr ""
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr ""
@@ -1143,7 +1143,7 @@ msgstr ""
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr ""
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr ""
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1376,8 +1376,8 @@ msgstr ""
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr ""
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "Đã hoàn thành"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr ""
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr ""
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr ""
@@ -2217,7 +2217,7 @@ msgstr ""
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr ""
@@ -2225,7 +2225,7 @@ msgstr ""
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr ""
@@ -2234,7 +2234,7 @@ msgstr ""
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr ""
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr ""
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr ""
@@ -3313,28 +3314,28 @@ msgstr ""
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr ""
msgid "Company"
msgstr ""
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr ""
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr ""
msgid "Parameter value"
msgstr ""
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr ""
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr ""
msgid "Note"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr ""
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5157,19 +5159,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr ""
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr ""
@@ -5226,11 +5228,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr ""
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "Nguyên liệu"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr ""
@@ -5330,7 +5332,7 @@ msgstr ""
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -5341,95 +5343,95 @@ msgstr ""
msgid "Part Categories"
msgstr ""
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr ""
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr ""
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr ""
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr ""
msgid "Category"
msgstr ""
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr ""
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr ""
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr ""
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr ""
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "Kho hàng"
msgid "Stock Locations"
msgstr ""
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr ""
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr ""
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "No parameters found"
+msgid "No subcategories found"
+msgstr "Không có thông số được tìm thấy"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr ""
#: users/models.py:245
msgid "Permission to delete items"
msgstr ""
-
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 4a9da1d828..549cd416a8 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 07:37+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-04-26 19:59\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -25,7 +25,7 @@ msgstr "未找到 API 端点"
msgid "User does not have permission to view this model"
msgstr "用户无权查看该模型"
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "在管理面板中可以找到错误详细信息"
@@ -39,9 +39,9 @@ msgstr "输入日期"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "缺少文件"
msgid "Missing external link"
msgstr "缺少外部链接"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "选择附件"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "选择附件"
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "链接到外部 URL"
@@ -259,8 +259,8 @@ msgstr "文件注释"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "选择无效"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "选择无效"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "名称"
@@ -328,8 +328,8 @@ msgstr "名称"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "名称"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "上级项"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "路径"
@@ -400,12 +400,12 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "必须是有效数字"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -478,107 +478,107 @@ msgstr "远程图像文件的 URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "捷克语"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "丹麦语"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "西班牙语(墨西哥)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "波斯语"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "匈牙利语"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "葡萄牙语"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "葡萄牙语 (巴西)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "斯洛文尼亚"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "中文(简体)"
@@ -854,7 +854,7 @@ msgstr "相关生产订单"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -884,10 +884,10 @@ msgstr "此次生产匹配的订单"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -986,7 +986,7 @@ msgid "Build status code"
msgstr "生产状态代码"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "批量代码"
@@ -994,7 +994,7 @@ msgstr "批量代码"
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1030,7 +1030,7 @@ msgstr "发布此生产订单的用户"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1047,7 +1047,7 @@ msgstr "构建此订单的用户或组"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "外部链接"
@@ -1143,7 +1143,7 @@ msgstr "源库存项"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1165,7 +1165,7 @@ msgstr "源库存项"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1224,7 +1224,7 @@ msgstr "输入生产产出数量"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1376,8 +1376,8 @@ msgstr "所需生产数量尚未完成"
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "BOM项"
@@ -1618,7 +1618,7 @@ msgid "Completed"
msgstr "已完成"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2187,7 +2187,7 @@ msgstr "复制类别参数模板"
msgid "Copy category parameter templates when creating a part"
msgstr "创建零件时复制类别参数模板"
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2197,7 +2197,7 @@ msgstr "模板"
msgid "Parts are templates by default"
msgstr "零件默认为模板"
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2208,7 +2208,7 @@ msgstr "组装"
msgid "Parts can be assembled from other components by default"
msgstr "默认情况下可以从其他组件组装部件"
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "组件"
@@ -2217,7 +2217,7 @@ msgstr "组件"
msgid "Parts can be used as sub-components by default"
msgstr "默认情况下可以从其他组件组装部件"
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "可购买"
@@ -2225,7 +2225,7 @@ msgstr "可购买"
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "可销售"
@@ -2234,7 +2234,7 @@ msgstr "可销售"
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2245,7 +2245,7 @@ msgstr "可追踪"
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3180,9 +3180,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "价格"
@@ -3203,7 +3204,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3305,7 +3306,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "图片"
@@ -3313,28 +3314,28 @@ msgstr "图片"
msgid "Image file"
msgstr ""
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr "有新订单被创建并分配给你"
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
msgid "Items have been received against a return order"
msgstr ""
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3469,7 +3470,7 @@ msgstr "该公司使用的默认货币"
msgid "Company"
msgstr "公司"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3531,7 +3532,7 @@ msgstr "参数名称"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3541,8 +3542,8 @@ msgstr "数值"
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3600,7 +3601,7 @@ msgid "Supplier part description"
msgstr "供应商商品描述"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3609,16 +3610,16 @@ msgstr "供应商商品描述"
msgid "Note"
msgstr "备注"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3645,7 +3646,7 @@ msgstr "包装数量"
msgid "Unit quantity supplied in a single pack"
msgstr "单个包装提供的的单位数量"
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3725,8 +3726,8 @@ msgstr "删除图片"
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4005,7 +4006,7 @@ msgid "Contacts"
msgstr ""
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4202,11 +4203,20 @@ msgstr "查询筛选器 (逗号分隔的键值对列表"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4220,18 +4230,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr "未知"
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
msgid "Total price for this order"
msgstr ""
@@ -4419,7 +4421,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5143,12 +5145,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "商品ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr "部件名称"
@@ -5157,19 +5159,19 @@ msgstr "部件名称"
msgid "Part Description"
msgstr "部件描述"
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr "版本号"
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "关键词"
@@ -5190,11 +5192,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "最低库存"
@@ -5226,11 +5228,11 @@ msgstr "已分配"
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5247,13 +5249,13 @@ msgstr ""
msgid "Category Path"
msgstr "类别路径"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "商品"
@@ -5270,7 +5272,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5312,7 +5314,7 @@ msgstr ""
msgid "This option must be selected"
msgstr "必须选择此项"
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "默认仓储地点"
@@ -5330,7 +5332,7 @@ msgstr "可用库存"
msgid "Input quantity for price calculation"
msgstr "输入数量以计算价格"
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
@@ -5341,95 +5343,95 @@ msgstr "商品类别"
msgid "Part Categories"
msgstr "商品类别"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "此类别商品的默认仓储地点"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "此类别商品的默认关键字"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr "图标"
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr "图标(可选)"
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN 必须匹配正则表达式 {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
msgid "Part description (optional)"
msgstr ""
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5437,249 +5439,249 @@ msgstr "提高搜索结果可见性的关键字"
msgid "Category"
msgstr "类别"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr "允许的最小库存量"
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr "该部件的计量单位"
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr "最低购买成本"
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr "最大购买成本"
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr "最高历史购买成本"
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr "最低内部价格"
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr "最大内部价格"
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5692,181 +5694,181 @@ msgstr ""
msgid "Date"
msgstr "日期"
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr "附加注释"
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr "报告"
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr "子部件"
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5874,113 +5876,113 @@ msgstr ""
msgid "Optional"
msgstr "可选项"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
msgid "This BOM item has been validated"
msgstr ""
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr "选择相关的部件"
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7295,7 +7297,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7317,12 +7319,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7390,7 +7392,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7415,7 +7417,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr ""
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7437,7 +7439,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7449,239 +7451,239 @@ msgstr "仓储地点"
msgid "Stock Locations"
msgstr "仓储地点"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "商品类型 ('{pf}') 必须是 {pe}"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9295,7 +9297,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -9969,7 +9971,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10682,7 +10684,7 @@ msgstr "找不到部件"
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr "以列表显示"
@@ -10707,72 +10709,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "Subcategories"
+msgid "No subcategories found"
+msgstr "子类别"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr "以树形图显示"
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr "编辑测试结果"
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr "删除测试结果"
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr "无指定日期"
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr "指定的日期已过"
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr "最大数量"
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""
@@ -12163,7 +12171,8 @@ msgstr ""
#: templates/socialaccount/signup.html:10
#, python-format
-msgid "You are about to use your %(provider_name)s account to login to\n"
+msgid ""
+"You are about to use your %(provider_name)s account to login to\n"
"%(site_name)s.
As a final step, please complete the following form:"
msgstr ""
@@ -12342,4 +12351,3 @@ msgstr "编辑项目权限"
#: users/models.py:245
msgid "Permission to delete items"
msgstr "删除项目权限"
-
diff --git a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
index e1293deb7e..5289feded5 100644
--- a/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2023-04-26 13:19+0000\n"
+"POT-Creation-Date: 2023-04-28 10:51+0000\n"
"PO-Revision-Date: 2023-02-28 22:38\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
@@ -25,7 +25,7 @@ msgstr "未找到 API 端点"
msgid "User does not have permission to view this model"
msgstr ""
-#: InvenTree/exceptions.py:94
+#: InvenTree/exceptions.py:90
msgid "Error details can be found in the admin panel"
msgstr "在管理面板中可以找到错误详细信息"
@@ -39,9 +39,9 @@ msgstr "输入日期"
#: order/templates/order/po_sidebar.html:11
#: order/templates/order/return_order_sidebar.html:9
#: order/templates/order/so_sidebar.html:17 part/admin.py:41
-#: part/models.py:2987 part/templates/part/part_sidebar.html:63
+#: part/models.py:2989 part/templates/part/part_sidebar.html:63
#: report/templates/report/inventree_build_order_base.html:172
-#: stock/admin.py:121 stock/models.py:2124 stock/models.py:2232
+#: stock/admin.py:121 stock/models.py:2126 stock/models.py:2234
#: stock/serializers.py:317 stock/serializers.py:450 stock/serializers.py:531
#: stock/serializers.py:810 stock/serializers.py:909 stock/serializers.py:1041
#: stock/templates/stock/stock_sidebar.html:25
@@ -217,7 +217,7 @@ msgstr "缺少文件"
msgid "Missing external link"
msgstr "缺少外部链接"
-#: InvenTree/models.py:463 stock/models.py:2226
+#: InvenTree/models.py:463 stock/models.py:2228
#: templates/js/translated/attachment.js:109
#: templates/js/translated/attachment.js:296
msgid "Attachment"
@@ -230,7 +230,7 @@ msgstr "选择附件"
#: InvenTree/models.py:470 common/models.py:2664 company/models.py:129
#: company/models.py:303 company/models.py:539 order/models.py:232
#: order/models.py:1090 order/models.py:1438 part/admin.py:39
-#: part/models.py:892 part/templates/part/part_scheduling.html:11
+#: part/models.py:894 part/templates/part/part_scheduling.html:11
#: report/templates/report/inventree_build_order_base.html:164
#: stock/admin.py:120 templates/js/translated/company.js:962
#: templates/js/translated/company.js:1261 templates/js/translated/order.js:326
@@ -243,8 +243,8 @@ msgstr "选择附件"
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:471 build/models.py:290 part/models.py:893
-#: stock/models.py:727
+#: InvenTree/models.py:471 build/models.py:290 part/models.py:895
+#: stock/models.py:729
msgid "Link to external URL"
msgstr "链接到外部 URL"
@@ -259,8 +259,8 @@ msgstr "文件注释"
#: InvenTree/models.py:480 InvenTree/models.py:481 common/models.py:2113
#: common/models.py:2114 common/models.py:2337 common/models.py:2338
-#: common/models.py:2594 common/models.py:2595 part/models.py:2995
-#: part/models.py:3083 part/models.py:3162 part/models.py:3182
+#: common/models.py:2594 common/models.py:2595 part/models.py:2997
+#: part/models.py:3085 part/models.py:3164 part/models.py:3184
#: plugin/models.py:216 plugin/models.py:217
#: report/templates/report/inventree_test_report_base.html:105
#: templates/js/translated/stock.js:2822
@@ -305,8 +305,8 @@ msgid "Invalid choice"
msgstr "选择无效"
#: InvenTree/models.py:625 InvenTree/models.py:626 common/models.py:2323
-#: company/models.py:385 label/models.py:103 part/models.py:838
-#: part/models.py:3330 plugin/models.py:40 report/models.py:159
+#: company/models.py:385 label/models.py:103 part/models.py:840
+#: part/models.py:3332 plugin/models.py:40 report/models.py:159
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/notifications.html:17
#: templates/InvenTree/settings/plugin.html:60
@@ -317,7 +317,7 @@ msgstr "选择无效"
#: templates/js/translated/company.js:691
#: templates/js/translated/company.js:856
#: templates/js/translated/company.js:1056 templates/js/translated/part.js:1126
-#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2335
+#: templates/js/translated/part.js:1282 templates/js/translated/part.js:2338
#: templates/js/translated/stock.js:2526
msgid "Name"
msgstr "名称"
@@ -328,8 +328,8 @@ msgstr "名称"
#: company/templates/company/company_base.html:72
#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:108 label/models.py:110
-#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:860
-#: part/models.py:3339 part/templates/part/category.html:81
+#: order/models.py:228 part/admin.py:194 part/admin.py:276 part/models.py:862
+#: part/models.py:3341 part/templates/part/category.html:81
#: part/templates/part/part_base.html:172
#: part/templates/part/part_scheduling.html:12 report/models.py:172
#: report/models.py:586 report/models.py:630
@@ -344,7 +344,7 @@ msgstr "名称"
#: templates/js/translated/company.js:973
#: templates/js/translated/company.js:1236 templates/js/translated/part.js:1178
#: templates/js/translated/part.js:1620 templates/js/translated/part.js:1892
-#: templates/js/translated/part.js:2371 templates/js/translated/part.js:2462
+#: templates/js/translated/part.js:2374 templates/js/translated/part.js:2465
#: templates/js/translated/purchase_order.js:1625
#: templates/js/translated/purchase_order.js:1771
#: templates/js/translated/purchase_order.js:1949
@@ -364,7 +364,7 @@ msgid "parent"
msgstr "上级项"
#: InvenTree/models.py:648 InvenTree/models.py:649
-#: templates/js/translated/part.js:2380 templates/js/translated/stock.js:2567
+#: templates/js/translated/part.js:2383 templates/js/translated/stock.js:2567
msgid "Path"
msgstr "路径"
@@ -402,12 +402,12 @@ msgstr "服务器错误"
msgid "An error has been logged by the server."
msgstr "服务器记录了一个错误。"
-#: InvenTree/serializers.py:59 part/models.py:3699
+#: InvenTree/serializers.py:59 part/models.py:3701
msgid "Must be a valid number"
msgstr "必须是有效数字"
#: InvenTree/serializers.py:89 company/models.py:151
-#: company/templates/company/company_base.html:107 part/models.py:2834
+#: company/templates/company/company_base.html:107 part/models.py:2836
#: templates/InvenTree/settings/settings_staff_js.html:44
#: templates/currency_data.html:5
msgid "Currency"
@@ -480,107 +480,107 @@ msgstr "远程图像文件的 URL"
msgid "Downloading images from remote URL is not enabled"
msgstr "未启用从远程 URL下载图像"
-#: InvenTree/settings.py:719
+#: InvenTree/settings.py:711
msgid "Czech"
msgstr "捷克语"
-#: InvenTree/settings.py:720
+#: InvenTree/settings.py:712
msgid "Danish"
msgstr "丹麦语"
-#: InvenTree/settings.py:721
+#: InvenTree/settings.py:713
msgid "German"
msgstr "德语"
-#: InvenTree/settings.py:722
+#: InvenTree/settings.py:714
msgid "Greek"
msgstr "希腊语"
-#: InvenTree/settings.py:723
+#: InvenTree/settings.py:715
msgid "English"
msgstr "英语"
-#: InvenTree/settings.py:724
+#: InvenTree/settings.py:716
msgid "Spanish"
msgstr "西班牙语"
-#: InvenTree/settings.py:725
+#: InvenTree/settings.py:717
msgid "Spanish (Mexican)"
msgstr "西班牙语(墨西哥)"
-#: InvenTree/settings.py:726
+#: InvenTree/settings.py:718
msgid "Farsi / Persian"
msgstr "波斯语"
-#: InvenTree/settings.py:727
+#: InvenTree/settings.py:719
msgid "French"
msgstr "法语"
-#: InvenTree/settings.py:728
+#: InvenTree/settings.py:720
msgid "Hebrew"
msgstr "希伯来语"
-#: InvenTree/settings.py:729
+#: InvenTree/settings.py:721
msgid "Hungarian"
msgstr "匈牙利语"
-#: InvenTree/settings.py:730
+#: InvenTree/settings.py:722
msgid "Italian"
msgstr "意大利语"
-#: InvenTree/settings.py:731
+#: InvenTree/settings.py:723
msgid "Japanese"
msgstr "日语"
-#: InvenTree/settings.py:732
+#: InvenTree/settings.py:724
msgid "Korean"
msgstr "韩语"
-#: InvenTree/settings.py:733
+#: InvenTree/settings.py:725
msgid "Dutch"
msgstr "荷兰语"
-#: InvenTree/settings.py:734
+#: InvenTree/settings.py:726
msgid "Norwegian"
msgstr "挪威语"
-#: InvenTree/settings.py:735
+#: InvenTree/settings.py:727
msgid "Polish"
msgstr "波兰语"
-#: InvenTree/settings.py:736
+#: InvenTree/settings.py:728
msgid "Portuguese"
msgstr "葡萄牙语"
-#: InvenTree/settings.py:737
+#: InvenTree/settings.py:729
msgid "Portuguese (Brazilian)"
msgstr "葡萄牙语 (巴西)"
-#: InvenTree/settings.py:738
+#: InvenTree/settings.py:730
msgid "Russian"
msgstr "俄语"
-#: InvenTree/settings.py:739
+#: InvenTree/settings.py:731
msgid "Slovenian"
msgstr "斯洛文尼亚"
-#: InvenTree/settings.py:740
+#: InvenTree/settings.py:732
msgid "Swedish"
msgstr "瑞典语"
-#: InvenTree/settings.py:741
+#: InvenTree/settings.py:733
msgid "Thai"
msgstr "泰语"
-#: InvenTree/settings.py:742
+#: InvenTree/settings.py:734
msgid "Turkish"
msgstr "土耳其语"
-#: InvenTree/settings.py:743
+#: InvenTree/settings.py:735
msgid "Vietnamese"
msgstr "越南语"
-#: InvenTree/settings.py:744
+#: InvenTree/settings.py:736
msgid "Chinese"
msgstr "中文(简体)"
@@ -868,7 +868,7 @@ msgstr "相关生产订单"
#: build/models.py:155 order/models.py:355 order/models.py:762
#: order/models.py:1084 order/models.py:1699 part/admin.py:278
-#: part/models.py:3600 part/templates/part/upload_bom.html:54
+#: part/models.py:3602 part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_bill_of_materials_report.html:139
#: report/templates/report/inventree_po_report_base.html:28
#: report/templates/report/inventree_return_order_report_base.html:26
@@ -900,10 +900,10 @@ msgstr "此次生产匹配的订单"
#: build/models.py:180 build/templates/build/build_base.html:98
#: build/templates/build/detail.html:29 company/models.py:718
#: order/models.py:1186 order/models.py:1302 order/models.py:1303
-#: part/models.py:382 part/models.py:2847 part/models.py:2961
-#: part/models.py:3101 part/models.py:3120 part/models.py:3139
-#: part/models.py:3160 part/models.py:3252 part/models.py:3373
-#: part/models.py:3465 part/models.py:3565 part/models.py:3879
+#: part/models.py:384 part/models.py:2849 part/models.py:2963
+#: part/models.py:3103 part/models.py:3122 part/models.py:3141
+#: part/models.py:3162 part/models.py:3254 part/models.py:3375
+#: part/models.py:3467 part/models.py:3567 part/models.py:3881
#: part/serializers.py:843 part/serializers.py:1246
#: part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
@@ -1002,7 +1002,7 @@ msgid "Build status code"
msgstr "生产状态代码"
#: build/models.py:245 build/serializers.py:229 order/serializers.py:504
-#: stock/models.py:731 templates/js/translated/purchase_order.js:1058
+#: stock/models.py:733 templates/js/translated/purchase_order.js:1058
msgid "Batch Code"
msgstr "批量代码"
@@ -1010,7 +1010,7 @@ msgstr "批量代码"
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:252 order/models.py:240 part/models.py:1026
+#: build/models.py:252 order/models.py:240 part/models.py:1028
#: part/templates/part/part_base.html:312
#: templates/js/translated/return_order.js:307
#: templates/js/translated/sales_order.js:775
@@ -1046,7 +1046,7 @@ msgstr "发布此生产订单的用户"
#: build/templates/build/detail.html:122 order/models.py:254
#: order/templates/order/order_base.html:214
#: order/templates/order/return_order_base.html:182
-#: order/templates/order/sales_order_base.html:222 part/models.py:1030
+#: order/templates/order/sales_order_base.html:222 part/models.py:1032
#: part/templates/part/part_base.html:392
#: report/templates/report/inventree_build_order_base.html:158
#: templates/js/translated/build.js:2672
@@ -1063,7 +1063,7 @@ msgstr "构建此订单的用户或组"
#: build/models.py:289 build/templates/build/detail.html:108
#: company/templates/company/manufacturer_part.html:107
#: company/templates/company/supplier_part.html:182
-#: part/templates/part/part_base.html:385 stock/models.py:725
+#: part/templates/part/part_base.html:385 stock/models.py:727
#: stock/templates/stock/item_base.html:201
msgid "External Link"
msgstr "外部链接"
@@ -1159,7 +1159,7 @@ msgstr "源库存项"
#: build/templates/build/detail.html:34 common/models.py:2145
#: order/models.py:1070 order/models.py:1620 order/serializers.py:1230
#: order/templates/order/order_wizard/match_parts.html:30 part/admin.py:277
-#: part/forms.py:47 part/models.py:2974 part/models.py:3581
+#: part/forms.py:47 part/models.py:2976 part/models.py:3583
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_bill_of_materials_report.html:138
@@ -1181,7 +1181,7 @@ msgstr "源库存项"
#: templates/js/translated/company.js:1406
#: templates/js/translated/model_renderers.js:204
#: templates/js/translated/order.js:279 templates/js/translated/part.js:901
-#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2899
+#: templates/js/translated/part.js:1469 templates/js/translated/part.js:2902
#: templates/js/translated/pricing.js:363
#: templates/js/translated/pricing.js:456
#: templates/js/translated/pricing.js:504
@@ -1240,7 +1240,7 @@ msgstr "输入生产产出数量"
#: build/serializers.py:212 build/serializers.py:697 order/models.py:436
#: order/serializers.py:377 order/serializers.py:499 part/serializers.py:1088
-#: part/serializers.py:1409 stock/models.py:585 stock/models.py:1367
+#: part/serializers.py:1409 stock/models.py:587 stock/models.py:1369
#: stock/serializers.py:290
msgid "Quantity must be greater than zero"
msgstr "数量必须大于0"
@@ -1392,8 +1392,8 @@ msgstr "所需生产数量尚未完成"
msgid "Build order has incomplete outputs"
msgstr "生产订单有未完成的产出"
-#: build/serializers.py:600 build/serializers.py:654 part/models.py:3488
-#: part/models.py:3871
+#: build/serializers.py:600 build/serializers.py:654 part/models.py:3490
+#: part/models.py:3873
msgid "BOM Item"
msgstr "BOM项"
@@ -1634,7 +1634,7 @@ msgid "Completed"
msgstr "已完成"
#: build/templates/build/build_base.html:196
-#: build/templates/build/detail.html:101 order/api.py:1446 order/models.py:1295
+#: build/templates/build/detail.html:101 order/api.py:1445 order/models.py:1295
#: order/models.py:1394 order/models.py:1526
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
@@ -2216,7 +2216,7 @@ msgstr ""
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:1157 part/admin.py:55 part/models.py:3375
+#: common/models.py:1157 part/admin.py:55 part/models.py:3377
#: report/models.py:165 templates/js/translated/table_filters.js:105
#: templates/js/translated/table_filters.js:631
msgid "Template"
@@ -2226,7 +2226,7 @@ msgstr "模板"
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:984
+#: common/models.py:1164 part/admin.py:51 part/admin.py:283 part/models.py:986
#: templates/js/translated/bom.js:1594
#: templates/js/translated/table_filters.js:272
#: templates/js/translated/table_filters.js:590
@@ -2237,7 +2237,7 @@ msgstr "组装"
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:1171 part/admin.py:52 part/models.py:990
+#: common/models.py:1171 part/admin.py:52 part/models.py:992
#: templates/js/translated/table_filters.js:598
msgid "Component"
msgstr "组件"
@@ -2246,7 +2246,7 @@ msgstr "组件"
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:1178 part/admin.py:53 part/models.py:1001
+#: common/models.py:1178 part/admin.py:53 part/models.py:1003
msgid "Purchaseable"
msgstr "可购买"
@@ -2254,7 +2254,7 @@ msgstr "可购买"
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:1185 part/admin.py:54 part/models.py:1006
+#: common/models.py:1185 part/admin.py:54 part/models.py:1008
#: templates/js/translated/table_filters.js:619
msgid "Salable"
msgstr "可销售"
@@ -2263,7 +2263,7 @@ msgstr "可销售"
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:1192 part/admin.py:56 part/models.py:996
+#: common/models.py:1192 part/admin.py:56 part/models.py:998
#: templates/js/translated/table_filters.js:113
#: templates/js/translated/table_filters.js:189
#: templates/js/translated/table_filters.js:635
@@ -2274,7 +2274,7 @@ msgstr "可追踪"
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:1199 part/admin.py:57 part/models.py:1016
+#: common/models.py:1199 part/admin.py:57 part/models.py:1018
#: part/templates/part/part_base.html:156
#: templates/js/translated/table_filters.js:109
#: templates/js/translated/table_filters.js:639
@@ -3223,9 +3223,10 @@ msgstr ""
msgid "Price break quantity"
msgstr ""
-#: common/models.py:2153 company/serializers.py:424 order/models.py:1123
-#: order/models.py:1914 templates/js/translated/company.js:1411
-#: templates/js/translated/part.js:1543 templates/js/translated/pricing.js:603
+#: common/models.py:2153 company/serializers.py:424 order/admin.py:43
+#: order/models.py:1123 order/models.py:1914
+#: templates/js/translated/company.js:1411 templates/js/translated/part.js:1543
+#: templates/js/translated/pricing.js:603
#: templates/js/translated/return_order.js:705
msgid "Price"
msgstr "价格"
@@ -3246,7 +3247,7 @@ msgstr ""
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:2329 part/admin.py:50 part/models.py:1011
+#: common/models.py:2329 part/admin.py:50 part/models.py:1013
#: plugin/models.py:46 templates/js/translated/table_filters.js:101
#: templates/js/translated/table_filters.js:185
#: templates/js/translated/table_filters.js:429
@@ -3348,7 +3349,7 @@ msgstr ""
msgid "Was this news item read?"
msgstr ""
-#: common/models.py:2705 company/models.py:140 part/models.py:905
+#: common/models.py:2705 company/models.py:140 part/models.py:907
msgid "Image"
msgstr "图片"
@@ -3358,30 +3359,30 @@ msgstr "图片"
msgid "Image file"
msgstr "图片"
-#: common/notifications.py:294
+#: common/notifications.py:291
#, python-brace-format
msgid "New {verbose_name}"
msgstr ""
-#: common/notifications.py:296
+#: common/notifications.py:293
msgid "A new order has been created and assigned to you"
msgstr ""
-#: common/notifications.py:302 common/notifications.py:309
+#: common/notifications.py:299 common/notifications.py:306
msgid "Items Received"
msgstr ""
-#: common/notifications.py:304
+#: common/notifications.py:301
msgid "Items have been received against a purchase order"
msgstr ""
-#: common/notifications.py:311
+#: common/notifications.py:308
#, fuzzy
#| msgid "Received against purchase order"
msgid "Items have been received against a return order"
msgstr "收到定购单"
-#: common/notifications.py:423
+#: common/notifications.py:420
msgid "Error raised by plugin"
msgstr ""
@@ -3516,7 +3517,7 @@ msgstr "该公司使用的默认货币"
msgid "Company"
msgstr "公司"
-#: company/models.py:275 company/models.py:510 stock/models.py:667
+#: company/models.py:275 company/models.py:510 stock/models.py:669
#: stock/serializers.py:143 stock/templates/stock/item_base.html:143
#: templates/js/translated/bom.js:591
msgid "Base Part"
@@ -3578,7 +3579,7 @@ msgstr "参数名称"
#: company/models.py:392
#: report/templates/report/inventree_test_report_base.html:104
-#: stock/models.py:2219 templates/js/translated/company.js:857
+#: stock/models.py:2221 templates/js/translated/company.js:857
#: templates/js/translated/company.js:1062 templates/js/translated/part.js:1291
#: templates/js/translated/stock.js:1432
msgid "Value"
@@ -3588,8 +3589,8 @@ msgstr "数值"
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:399 part/admin.py:40 part/models.py:978
-#: part/models.py:3335 part/templates/part/part_base.html:286
+#: company/models.py:399 part/admin.py:40 part/models.py:980
+#: part/models.py:3337 part/templates/part/part_base.html:286
#: templates/InvenTree/settings/settings_staff_js.html:329
#: templates/js/translated/company.js:1068 templates/js/translated/part.js:1297
msgid "Units"
@@ -3647,7 +3648,7 @@ msgid "Supplier part description"
msgstr "供应商商品描述"
#: company/models.py:551 company/templates/company/supplier_part.html:175
-#: part/admin.py:279 part/models.py:3603 part/templates/part/upload_bom.html:59
+#: part/admin.py:279 part/models.py:3605 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_bill_of_materials_report.html:140
#: report/templates/report/inventree_po_report_base.html:32
#: report/templates/report/inventree_return_order_report_base.html:27
@@ -3656,16 +3657,16 @@ msgstr "供应商商品描述"
msgid "Note"
msgstr "备注"
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "base cost"
msgstr ""
-#: company/models.py:555 part/models.py:1908
+#: company/models.py:555 part/models.py:1910
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
#: company/models.py:557 company/templates/company/supplier_part.html:161
-#: stock/admin.py:119 stock/models.py:693
+#: stock/admin.py:119 stock/models.py:695
#: stock/templates/stock/item_base.html:241
#: templates/js/translated/company.js:1241
#: templates/js/translated/stock.js:2137
@@ -3692,7 +3693,7 @@ msgstr ""
msgid "Unit quantity supplied in a single pack"
msgstr ""
-#: company/models.py:567 part/models.py:1910
+#: company/models.py:567 part/models.py:1912
msgid "multiple"
msgstr ""
@@ -3772,8 +3773,8 @@ msgstr ""
#: company/templates/company/company_base.html:87 order/models.py:776
#: order/models.py:1713 order/templates/order/return_order_base.html:132
-#: order/templates/order/sales_order_base.html:145 stock/models.py:712
-#: stock/models.py:713 stock/serializers.py:796
+#: order/templates/order/sales_order_base.html:145 stock/models.py:714
+#: stock/models.py:715 stock/serializers.py:796
#: stock/templates/stock/item_base.html:395
#: templates/email/overdue_sales_order.html:16
#: templates/js/translated/company.js:480
@@ -4064,7 +4065,7 @@ msgid "Contacts"
msgstr "联系人"
#: company/templates/company/supplier_part.html:7
-#: company/templates/company/supplier_part.html:24 stock/models.py:676
+#: company/templates/company/supplier_part.html:24 stock/models.py:678
#: stock/templates/stock/item_base.html:234
#: templates/js/translated/company.js:1195
#: templates/js/translated/purchase_order.js:708
@@ -4261,11 +4262,20 @@ msgstr "查询筛选器 (逗号分隔的键值对列表"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
-#: order/api.py:240
+#: order/admin.py:30 order/models.py:69
+#: report/templates/report/inventree_po_report_base.html:31
+#: report/templates/report/inventree_so_report_base.html:31
+#: templates/js/translated/order.js:302
+#: templates/js/translated/purchase_order.js:2052
+#: templates/js/translated/sales_order.js:1761
+msgid "Total Price"
+msgstr ""
+
+#: order/api.py:239
msgid "No matching purchase order found"
msgstr ""
-#: order/api.py:1444 order/models.py:1169 order/models.py:1253
+#: order/api.py:1443 order/models.py:1169 order/models.py:1253
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report_base.html:14
@@ -4279,18 +4289,10 @@ msgstr ""
msgid "Purchase Order"
msgstr ""
-#: order/api.py:1448
+#: order/api.py:1447
msgid "Unknown"
msgstr ""
-#: order/models.py:69 report/templates/report/inventree_po_report_base.html:31
-#: report/templates/report/inventree_so_report_base.html:31
-#: templates/js/translated/order.js:302
-#: templates/js/translated/purchase_order.js:2052
-#: templates/js/translated/sales_order.js:1761
-msgid "Total Price"
-msgstr ""
-
#: order/models.py:70
#, fuzzy
#| msgid "User or group responsible for this order"
@@ -4492,7 +4494,7 @@ msgstr ""
msgid "Number of items received"
msgstr ""
-#: order/models.py:1202 stock/models.py:807 stock/serializers.py:229
+#: order/models.py:1202 stock/models.py:809 stock/serializers.py:229
#: stock/templates/stock/item_base.html:184
#: templates/js/translated/stock.js:2028
msgid "Purchase Price"
@@ -5254,12 +5256,12 @@ msgstr ""
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
-#: part/admin.py:33 part/admin.py:273 part/models.py:3469 part/tasks.py:283
+#: part/admin.py:33 part/admin.py:273 part/models.py:3471 part/tasks.py:283
#: stock/admin.py:101
msgid "Part ID"
msgstr "商品ID"
-#: part/admin.py:34 part/admin.py:275 part/models.py:3473 part/tasks.py:284
+#: part/admin.py:34 part/admin.py:275 part/models.py:3475 part/tasks.py:284
#: stock/admin.py:102
msgid "Part Name"
msgstr ""
@@ -5268,19 +5270,19 @@ msgstr ""
msgid "Part Description"
msgstr ""
-#: part/admin.py:36 part/models.py:880 part/templates/part/part_base.html:271
+#: part/admin.py:36 part/models.py:882 part/templates/part/part_base.html:271
#: templates/js/translated/part.js:1166 templates/js/translated/part.js:1878
#: templates/js/translated/stock.js:1776
msgid "IPN"
msgstr ""
-#: part/admin.py:37 part/models.py:887 part/templates/part/part_base.html:279
+#: part/admin.py:37 part/models.py:889 part/templates/part/part_base.html:279
#: report/models.py:178 templates/js/translated/part.js:1171
#: templates/js/translated/part.js:1884
msgid "Revision"
msgstr ""
-#: part/admin.py:38 part/admin.py:198 part/models.py:866
+#: part/admin.py:38 part/admin.py:198 part/models.py:868
#: part/templates/part/category.html:93 part/templates/part/part_base.html:300
msgid "Keywords"
msgstr "关键词"
@@ -5301,11 +5303,11 @@ msgstr ""
msgid "Default Supplier ID"
msgstr ""
-#: part/admin.py:46 part/models.py:855 part/templates/part/part_base.html:179
+#: part/admin.py:46 part/models.py:857 part/templates/part/part_base.html:179
msgid "Variant Of"
msgstr ""
-#: part/admin.py:47 part/models.py:971 part/templates/part/part_base.html:205
+#: part/admin.py:47 part/models.py:973 part/templates/part/part_base.html:205
msgid "Minimum Stock"
msgstr "最低库存"
@@ -5337,11 +5339,11 @@ msgstr ""
msgid "Building"
msgstr ""
-#: part/admin.py:66 part/models.py:2912 templates/js/translated/part.js:909
+#: part/admin.py:66 part/models.py:2914 templates/js/translated/part.js:909
msgid "Minimum Cost"
msgstr ""
-#: part/admin.py:67 part/models.py:2918 templates/js/translated/part.js:919
+#: part/admin.py:67 part/models.py:2920 templates/js/translated/part.js:919
msgid "Maximum Cost"
msgstr ""
@@ -5358,13 +5360,13 @@ msgstr ""
msgid "Category Path"
msgstr "类别路径"
-#: part/admin.py:202 part/models.py:383 part/templates/part/cat_link.html:3
+#: part/admin.py:202 part/models.py:385 part/templates/part/cat_link.html:3
#: part/templates/part/category.html:23 part/templates/part/category.html:140
#: part/templates/part/category.html:160
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:86 templates/InvenTree/search.html:84
#: templates/InvenTree/settings/sidebar.html:45
-#: templates/js/translated/part.js:2390 templates/js/translated/search.js:160
+#: templates/js/translated/part.js:2393 templates/js/translated/search.js:160
#: templates/navbar.html:24 users/models.py:38
msgid "Parts"
msgstr "商品"
@@ -5381,7 +5383,7 @@ msgstr ""
msgid "Parent IPN"
msgstr ""
-#: part/admin.py:274 part/models.py:3477
+#: part/admin.py:274 part/models.py:3479
msgid "Part IPN"
msgstr ""
@@ -5423,7 +5425,7 @@ msgstr ""
msgid "This option must be selected"
msgstr ""
-#: part/bom.py:175 part/models.py:121 part/models.py:914
+#: part/bom.py:175 part/models.py:123 part/models.py:916
#: part/templates/part/category.html:115 part/templates/part/part_base.html:369
msgid "Default Location"
msgstr "默认仓储地点"
@@ -5441,7 +5443,7 @@ msgstr "可用库存"
msgid "Input quantity for price calculation"
msgstr ""
-#: part/models.py:71 part/models.py:3418 part/templates/part/category.html:16
+#: part/models.py:71 part/models.py:3420 part/templates/part/category.html:16
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
@@ -5452,97 +5454,97 @@ msgstr "商品类别"
msgid "Part Categories"
msgstr "商品类别"
-#: part/models.py:122
+#: part/models.py:124
msgid "Default location for parts in this category"
msgstr "此类别商品的默认仓储地点"
-#: part/models.py:127 stock/models.py:119 templates/js/translated/stock.js:2582
+#: part/models.py:129 stock/models.py:121 templates/js/translated/stock.js:2582
#: templates/js/translated/table_filters.js:205
#: templates/js/translated/table_filters.js:225
msgid "Structural"
msgstr ""
-#: part/models.py:129
+#: part/models.py:131
msgid "Parts may not be directly assigned to a structural category, but may be assigned to child categories."
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords"
msgstr ""
-#: part/models.py:133
+#: part/models.py:135
msgid "Default keywords for parts in this category"
msgstr "此类别商品的默认关键字"
-#: part/models.py:138 stock/models.py:108
+#: part/models.py:140 stock/models.py:110
msgid "Icon"
msgstr ""
-#: part/models.py:139 stock/models.py:109
+#: part/models.py:141 stock/models.py:111
msgid "Icon (optional)"
msgstr ""
-#: part/models.py:158
+#: part/models.py:160
msgid "You cannot make this part category structural because some parts are already assigned to it!"
msgstr ""
-#: part/models.py:466
+#: part/models.py:468
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:508 part/models.py:520
+#: part/models.py:510 part/models.py:522
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:592
+#: part/models.py:594
#, python-brace-format
msgid "IPN must match regex pattern {pat}"
msgstr "IPN 必须匹配正则表达式 {pat}"
-#: part/models.py:663
+#: part/models.py:665
msgid "Stock item with this serial number already exists"
msgstr ""
-#: part/models.py:794
+#: part/models.py:796
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:799
+#: part/models.py:801
msgid "Part with this Name, IPN and Revision already exists."
msgstr ""
-#: part/models.py:813
+#: part/models.py:815
msgid "Parts cannot be assigned to structural part categories!"
msgstr ""
-#: part/models.py:837 part/models.py:3474
+#: part/models.py:839 part/models.py:3476
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:843
+#: part/models.py:845
msgid "Is Template"
msgstr ""
-#: part/models.py:844
+#: part/models.py:846
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:854
+#: part/models.py:856
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:861
+#: part/models.py:863
#, fuzzy
#| msgid "Description (optional)"
msgid "Part description (optional)"
msgstr "描述 (可选)"
-#: part/models.py:867
+#: part/models.py:869
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:874 part/models.py:3180 part/models.py:3417
+#: part/models.py:876 part/models.py:3182 part/models.py:3419
#: part/serializers.py:849 part/templates/part/part_base.html:262
#: templates/InvenTree/settings/settings_staff_js.html:204
#: templates/js/translated/notification.js:50
@@ -5550,249 +5552,249 @@ msgstr "提高搜索结果可见性的关键字"
msgid "Category"
msgstr "类别"
-#: part/models.py:875
+#: part/models.py:877
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:881
+#: part/models.py:883
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:886
+#: part/models.py:888
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:912
+#: part/models.py:914
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:957 part/templates/part/part_base.html:378
+#: part/models.py:959 part/templates/part/part_base.html:378
msgid "Default Supplier"
msgstr ""
-#: part/models.py:958
+#: part/models.py:960
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:965
+#: part/models.py:967
msgid "Default Expiry"
msgstr ""
-#: part/models.py:966
+#: part/models.py:968
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:972
+#: part/models.py:974
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:979
+#: part/models.py:981
msgid "Units of measure for this part"
msgstr ""
-#: part/models.py:985
+#: part/models.py:987
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:991
+#: part/models.py:993
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:999
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:1004
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:1007
+#: part/models.py:1009
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:1012
+#: part/models.py:1014
msgid "Is this part active?"
msgstr ""
-#: part/models.py:1017
+#: part/models.py:1019
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:1019
+#: part/models.py:1021
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1019
+#: part/models.py:1021
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1022
+#: part/models.py:1024
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1024
+#: part/models.py:1026
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1028
+#: part/models.py:1030
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1030
+#: part/models.py:1032
msgid "User responsible for this part"
msgstr ""
-#: part/models.py:1034 part/templates/part/part_base.html:341
+#: part/models.py:1036 part/templates/part/part_base.html:341
#: stock/templates/stock/item_base.html:441
#: templates/js/translated/part.js:1970
msgid "Last Stocktake"
msgstr ""
-#: part/models.py:1910
+#: part/models.py:1912
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2835
+#: part/models.py:2837
msgid "Currency used to cache pricing calculations"
msgstr ""
-#: part/models.py:2852
+#: part/models.py:2854
msgid "Minimum BOM Cost"
msgstr ""
-#: part/models.py:2853
+#: part/models.py:2855
msgid "Minimum cost of component parts"
msgstr ""
-#: part/models.py:2858
+#: part/models.py:2860
msgid "Maximum BOM Cost"
msgstr ""
-#: part/models.py:2859
+#: part/models.py:2861
msgid "Maximum cost of component parts"
msgstr ""
-#: part/models.py:2864
+#: part/models.py:2866
msgid "Minimum Purchase Cost"
msgstr ""
-#: part/models.py:2865
+#: part/models.py:2867
msgid "Minimum historical purchase cost"
msgstr ""
-#: part/models.py:2870
+#: part/models.py:2872
msgid "Maximum Purchase Cost"
msgstr ""
-#: part/models.py:2871
+#: part/models.py:2873
msgid "Maximum historical purchase cost"
msgstr ""
-#: part/models.py:2876
+#: part/models.py:2878
msgid "Minimum Internal Price"
msgstr ""
-#: part/models.py:2877
+#: part/models.py:2879
msgid "Minimum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2882
+#: part/models.py:2884
msgid "Maximum Internal Price"
msgstr ""
-#: part/models.py:2883
+#: part/models.py:2885
msgid "Maximum cost based on internal price breaks"
msgstr ""
-#: part/models.py:2888
+#: part/models.py:2890
msgid "Minimum Supplier Price"
msgstr ""
-#: part/models.py:2889
+#: part/models.py:2891
msgid "Minimum price of part from external suppliers"
msgstr ""
-#: part/models.py:2894
+#: part/models.py:2896
msgid "Maximum Supplier Price"
msgstr ""
-#: part/models.py:2895
+#: part/models.py:2897
msgid "Maximum price of part from external suppliers"
msgstr ""
-#: part/models.py:2900
+#: part/models.py:2902
msgid "Minimum Variant Cost"
msgstr ""
-#: part/models.py:2901
+#: part/models.py:2903
msgid "Calculated minimum cost of variant parts"
msgstr ""
-#: part/models.py:2906
+#: part/models.py:2908
msgid "Maximum Variant Cost"
msgstr ""
-#: part/models.py:2907
+#: part/models.py:2909
msgid "Calculated maximum cost of variant parts"
msgstr ""
-#: part/models.py:2913
+#: part/models.py:2915
msgid "Calculated overall minimum cost"
msgstr ""
-#: part/models.py:2919
+#: part/models.py:2921
msgid "Calculated overall maximum cost"
msgstr ""
-#: part/models.py:2924
+#: part/models.py:2926
msgid "Minimum Sale Price"
msgstr ""
-#: part/models.py:2925
+#: part/models.py:2927
msgid "Minimum sale price based on price breaks"
msgstr ""
-#: part/models.py:2930
+#: part/models.py:2932
msgid "Maximum Sale Price"
msgstr ""
-#: part/models.py:2931
+#: part/models.py:2933
msgid "Maximum sale price based on price breaks"
msgstr ""
-#: part/models.py:2936
+#: part/models.py:2938
msgid "Minimum Sale Cost"
msgstr ""
-#: part/models.py:2937
+#: part/models.py:2939
msgid "Minimum historical sale price"
msgstr ""
-#: part/models.py:2942
+#: part/models.py:2944
msgid "Maximum Sale Cost"
msgstr ""
-#: part/models.py:2943
+#: part/models.py:2945
msgid "Maximum historical sale price"
msgstr ""
-#: part/models.py:2962
+#: part/models.py:2964
msgid "Part for stocktake"
msgstr ""
-#: part/models.py:2967
+#: part/models.py:2969
msgid "Item Count"
msgstr ""
-#: part/models.py:2968
+#: part/models.py:2970
msgid "Number of individual stock entries at time of stocktake"
msgstr ""
-#: part/models.py:2975
+#: part/models.py:2977
msgid "Total available stock at time of stocktake"
msgstr ""
-#: part/models.py:2979 part/models.py:3062
+#: part/models.py:2981 part/models.py:3064
#: part/templates/part/part_scheduling.html:13
#: report/templates/report/inventree_test_report_base.html:106
#: templates/InvenTree/settings/plugin.html:63
@@ -5805,181 +5807,181 @@ msgstr ""
msgid "Date"
msgstr ""
-#: part/models.py:2980
+#: part/models.py:2982
msgid "Date stocktake was performed"
msgstr ""
-#: part/models.py:2988
+#: part/models.py:2990
msgid "Additional notes"
msgstr ""
-#: part/models.py:2996
+#: part/models.py:2998
msgid "User who performed this stocktake"
msgstr ""
-#: part/models.py:3001
+#: part/models.py:3003
msgid "Minimum Stock Cost"
msgstr ""
-#: part/models.py:3002
+#: part/models.py:3004
msgid "Estimated minimum cost of stock on hand"
msgstr ""
-#: part/models.py:3007
+#: part/models.py:3009
msgid "Maximum Stock Cost"
msgstr ""
-#: part/models.py:3008
+#: part/models.py:3010
msgid "Estimated maximum cost of stock on hand"
msgstr ""
-#: part/models.py:3069 templates/InvenTree/settings/settings_staff_js.html:431
+#: part/models.py:3071 templates/InvenTree/settings/settings_staff_js.html:431
msgid "Report"
msgstr ""
-#: part/models.py:3070
+#: part/models.py:3072
msgid "Stocktake report file (generated internally)"
msgstr ""
-#: part/models.py:3075 templates/InvenTree/settings/settings_staff_js.html:438
+#: part/models.py:3077 templates/InvenTree/settings/settings_staff_js.html:438
msgid "Part Count"
msgstr ""
-#: part/models.py:3076
+#: part/models.py:3078
msgid "Number of parts covered by stocktake"
msgstr ""
-#: part/models.py:3084
+#: part/models.py:3086
msgid "User who requested this stocktake report"
msgstr ""
-#: part/models.py:3220
+#: part/models.py:3222
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:3237
+#: part/models.py:3239
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:3257 templates/js/translated/part.js:2457
+#: part/models.py:3259 templates/js/translated/part.js:2460
msgid "Test Name"
msgstr ""
-#: part/models.py:3258
+#: part/models.py:3260
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:3263
+#: part/models.py:3265
msgid "Test Description"
msgstr ""
-#: part/models.py:3264
+#: part/models.py:3266
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:3269 templates/js/translated/part.js:2466
+#: part/models.py:3271 templates/js/translated/part.js:2469
#: templates/js/translated/table_filters.js:413
msgid "Required"
msgstr ""
-#: part/models.py:3270
+#: part/models.py:3272
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:3275 templates/js/translated/part.js:2474
+#: part/models.py:3277 templates/js/translated/part.js:2477
msgid "Requires Value"
msgstr ""
-#: part/models.py:3276
+#: part/models.py:3278
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:3281 templates/js/translated/part.js:2481
+#: part/models.py:3283 templates/js/translated/part.js:2484
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:3282
+#: part/models.py:3284
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:3323
+#: part/models.py:3325
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:3331
+#: part/models.py:3333
msgid "Parameter Name"
msgstr ""
-#: part/models.py:3335
+#: part/models.py:3337
msgid "Parameter Units"
msgstr ""
-#: part/models.py:3340
+#: part/models.py:3342
msgid "Parameter description"
msgstr ""
-#: part/models.py:3373
+#: part/models.py:3375
msgid "Parent Part"
msgstr ""
-#: part/models.py:3375 part/models.py:3423 part/models.py:3424
+#: part/models.py:3377 part/models.py:3425 part/models.py:3426
#: templates/InvenTree/settings/settings_staff_js.html:199
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Data"
msgstr ""
-#: part/models.py:3377
+#: part/models.py:3379
msgid "Parameter Value"
msgstr ""
-#: part/models.py:3428 templates/InvenTree/settings/settings_staff_js.html:208
+#: part/models.py:3430 templates/InvenTree/settings/settings_staff_js.html:208
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:3429
+#: part/models.py:3431
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:3466
+#: part/models.py:3468
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:3470
+#: part/models.py:3472
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:3478
+#: part/models.py:3480
msgid "Part IPN value"
msgstr ""
-#: part/models.py:3481
+#: part/models.py:3483
msgid "Level"
msgstr ""
-#: part/models.py:3482
+#: part/models.py:3484
msgid "BOM level"
msgstr ""
-#: part/models.py:3566
+#: part/models.py:3568
msgid "Select parent part"
msgstr ""
-#: part/models.py:3574
+#: part/models.py:3576
msgid "Sub part"
msgstr ""
-#: part/models.py:3575
+#: part/models.py:3577
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:3581
+#: part/models.py:3583
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:3585 part/templates/part/upload_bom.html:58
+#: part/models.py:3587 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:941 templates/js/translated/bom.js:994
#: templates/js/translated/build.js:1862
#: templates/js/translated/table_filters.js:152
@@ -5987,115 +5989,115 @@ msgstr ""
msgid "Optional"
msgstr "可选项"
-#: part/models.py:3586
+#: part/models.py:3588
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:3591 templates/js/translated/bom.js:937
+#: part/models.py:3593 templates/js/translated/bom.js:937
#: templates/js/translated/bom.js:1003 templates/js/translated/build.js:1853
#: templates/js/translated/table_filters.js:156
msgid "Consumable"
msgstr ""
-#: part/models.py:3592
+#: part/models.py:3594
msgid "This BOM item is consumable (it is not tracked in build orders)"
msgstr ""
-#: part/models.py:3596 part/templates/part/upload_bom.html:55
+#: part/models.py:3598 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:3597
+#: part/models.py:3599
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:3600
+#: part/models.py:3602
msgid "BOM item reference"
msgstr ""
-#: part/models.py:3603
+#: part/models.py:3605
msgid "BOM item notes"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "Checksum"
msgstr ""
-#: part/models.py:3607
+#: part/models.py:3609
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:3612 templates/js/translated/table_filters.js:140
+#: part/models.py:3614 templates/js/translated/table_filters.js:140
msgid "Validated"
msgstr ""
-#: part/models.py:3613
+#: part/models.py:3615
#, fuzzy
#| msgid "Some stock items have been overallocated"
msgid "This BOM item has been validated"
msgstr "一些库存项已被过度分配"
-#: part/models.py:3618 part/templates/part/upload_bom.html:57
+#: part/models.py:3620 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:1020
#: templates/js/translated/table_filters.js:144
#: templates/js/translated/table_filters.js:177
msgid "Gets inherited"
msgstr ""
-#: part/models.py:3619
+#: part/models.py:3621
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:3624 part/templates/part/upload_bom.html:56
+#: part/models.py:3626 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:1012
msgid "Allow Variants"
msgstr ""
-#: part/models.py:3625
+#: part/models.py:3627
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:3711 stock/models.py:569
+#: part/models.py:3713 stock/models.py:571
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:3720 part/models.py:3722
+#: part/models.py:3722 part/models.py:3724
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3838
+#: part/models.py:3840
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3859
+#: part/models.py:3861
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3872
+#: part/models.py:3874
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3880
+#: part/models.py:3882
msgid "Substitute part"
msgstr ""
-#: part/models.py:3895
+#: part/models.py:3897
msgid "Part 1"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Part 2"
msgstr ""
-#: part/models.py:3899
+#: part/models.py:3901
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3917
+#: part/models.py:3919
msgid "Part relationship cannot be created between a part and itself"
msgstr ""
-#: part/models.py:3921
+#: part/models.py:3923
msgid "Duplicate relationship already exists"
msgstr ""
@@ -7416,7 +7418,7 @@ msgstr ""
#: report/templates/report/inventree_return_order_report_base.html:25
#: report/templates/report/inventree_test_report_base.html:88
-#: stock/models.py:717 stock/templates/stock/item_base.html:312
+#: stock/models.py:719 stock/templates/stock/item_base.html:312
#: templates/js/translated/build.js:475 templates/js/translated/build.js:636
#: templates/js/translated/build.js:1250 templates/js/translated/build.js:1738
#: templates/js/translated/model_renderers.js:198
@@ -7438,12 +7440,12 @@ msgid "Test Results"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:102
-#: stock/models.py:2207 templates/js/translated/stock.js:1405
+#: stock/models.py:2209 templates/js/translated/stock.js:1405
msgid "Test"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:103
-#: stock/models.py:2213
+#: stock/models.py:2215
msgid "Result"
msgstr ""
@@ -7515,7 +7517,7 @@ msgstr ""
msgid "Customer ID"
msgstr ""
-#: stock/admin.py:114 stock/models.py:700
+#: stock/admin.py:114 stock/models.py:702
#: stock/templates/stock/item_base.html:355
msgid "Installed In"
msgstr ""
@@ -7542,7 +7544,7 @@ msgstr ""
msgid "Delete on Deplete"
msgstr "删除模板"
-#: stock/admin.py:131 stock/models.py:773
+#: stock/admin.py:131 stock/models.py:775
#: stock/templates/stock/item_base.html:423
#: templates/js/translated/stock.js:1947
msgid "Expiry Date"
@@ -7564,7 +7566,7 @@ msgstr ""
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/models.py:53 stock/models.py:684
+#: stock/models.py:53 stock/models.py:686
#: stock/templates/stock/location.html:17
#: stock/templates/stock/stock_app_base.html:8
msgid "Stock Location"
@@ -7576,239 +7578,239 @@ msgstr "仓储地点"
msgid "Stock Locations"
msgstr "仓储地点"
-#: stock/models.py:113 stock/models.py:812
+#: stock/models.py:115 stock/models.py:814
#: stock/templates/stock/item_base.html:248
msgid "Owner"
msgstr ""
-#: stock/models.py:114 stock/models.py:813
+#: stock/models.py:116 stock/models.py:815
msgid "Select Owner"
msgstr ""
-#: stock/models.py:121
+#: stock/models.py:123
msgid "Stock items may not be directly located into a structural stock locations, but may be located to child locations."
msgstr ""
-#: stock/models.py:127 templates/js/translated/stock.js:2591
+#: stock/models.py:129 templates/js/translated/stock.js:2591
#: templates/js/translated/table_filters.js:209
msgid "External"
msgstr ""
-#: stock/models.py:128
+#: stock/models.py:130
msgid "This is an external stock location"
msgstr ""
-#: stock/models.py:170
+#: stock/models.py:172
msgid "You cannot make this stock location structural because some stock items are already located into it!"
msgstr ""
-#: stock/models.py:549
+#: stock/models.py:551
msgid "Stock items cannot be located into structural stock locations!"
msgstr ""
-#: stock/models.py:575 stock/serializers.py:151
+#: stock/models.py:577 stock/serializers.py:151
msgid "Stock item cannot be created for virtual parts"
msgstr ""
-#: stock/models.py:592
+#: stock/models.py:594
#, python-brace-format
msgid "Part type ('{pf}') must be {pe}"
msgstr "商品类型 ('{pf}') 必须是 {pe}"
-#: stock/models.py:602 stock/models.py:611
+#: stock/models.py:604 stock/models.py:613
msgid "Quantity must be 1 for item with a serial number"
msgstr ""
-#: stock/models.py:603
+#: stock/models.py:605
msgid "Serial number cannot be set if quantity greater than 1"
msgstr ""
-#: stock/models.py:625
+#: stock/models.py:627
msgid "Item cannot belong to itself"
msgstr ""
-#: stock/models.py:631
+#: stock/models.py:633
msgid "Item must have a build reference if is_building=True"
msgstr ""
-#: stock/models.py:645
+#: stock/models.py:647
msgid "Build reference does not point to the same part object"
msgstr ""
-#: stock/models.py:659
+#: stock/models.py:661
msgid "Parent Stock Item"
msgstr ""
-#: stock/models.py:669
+#: stock/models.py:671
msgid "Base part"
msgstr ""
-#: stock/models.py:677
+#: stock/models.py:679
msgid "Select a matching supplier part for this stock item"
msgstr ""
-#: stock/models.py:687
+#: stock/models.py:689
msgid "Where is this stock item located?"
msgstr ""
-#: stock/models.py:694
+#: stock/models.py:696
msgid "Packaging this stock item is stored in"
msgstr ""
-#: stock/models.py:703
+#: stock/models.py:705
msgid "Is this item installed in another item?"
msgstr ""
-#: stock/models.py:719
+#: stock/models.py:721
msgid "Serial number for this item"
msgstr ""
-#: stock/models.py:733
+#: stock/models.py:735
msgid "Batch code for this stock item"
msgstr ""
-#: stock/models.py:738
+#: stock/models.py:740
msgid "Stock Quantity"
msgstr ""
-#: stock/models.py:745
+#: stock/models.py:747
msgid "Source Build"
msgstr ""
-#: stock/models.py:747
+#: stock/models.py:749
msgid "Build for this stock item"
msgstr ""
-#: stock/models.py:758
+#: stock/models.py:760
msgid "Source Purchase Order"
msgstr ""
-#: stock/models.py:761
+#: stock/models.py:763
msgid "Purchase order for this stock item"
msgstr ""
-#: stock/models.py:767
+#: stock/models.py:769
msgid "Destination Sales Order"
msgstr ""
-#: stock/models.py:774
+#: stock/models.py:776
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete on deplete"
msgstr ""
-#: stock/models.py:789
+#: stock/models.py:791
msgid "Delete this Stock Item when stock is depleted"
msgstr ""
-#: stock/models.py:808
+#: stock/models.py:810
msgid "Single unit purchase price at time of purchase"
msgstr ""
-#: stock/models.py:836
+#: stock/models.py:838
msgid "Converted to part"
msgstr ""
-#: stock/models.py:1358
+#: stock/models.py:1360
msgid "Part is not set as trackable"
msgstr ""
-#: stock/models.py:1364
+#: stock/models.py:1366
msgid "Quantity must be integer"
msgstr ""
-#: stock/models.py:1370
+#: stock/models.py:1372
#, python-brace-format
msgid "Quantity must not exceed available stock quantity ({n})"
msgstr ""
-#: stock/models.py:1373
+#: stock/models.py:1375
msgid "Serial numbers must be a list of integers"
msgstr ""
-#: stock/models.py:1376
+#: stock/models.py:1378
msgid "Quantity does not match serial numbers"
msgstr ""
-#: stock/models.py:1383 stock/serializers.py:349
+#: stock/models.py:1385 stock/serializers.py:349
msgid "Serial numbers already exist"
msgstr "序列号已存在"
-#: stock/models.py:1454
+#: stock/models.py:1456
msgid "Stock item has been assigned to a sales order"
msgstr ""
-#: stock/models.py:1457
+#: stock/models.py:1459
msgid "Stock item is installed in another item"
msgstr ""
-#: stock/models.py:1460
+#: stock/models.py:1462
msgid "Stock item contains other items"
msgstr ""
-#: stock/models.py:1463
+#: stock/models.py:1465
msgid "Stock item has been assigned to a customer"
msgstr ""
-#: stock/models.py:1466
+#: stock/models.py:1468
msgid "Stock item is currently in production"
msgstr ""
-#: stock/models.py:1469
+#: stock/models.py:1471
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1476 stock/serializers.py:946
+#: stock/models.py:1478 stock/serializers.py:946
msgid "Duplicate stock items"
msgstr ""
-#: stock/models.py:1480
+#: stock/models.py:1482
msgid "Stock items must refer to the same part"
msgstr ""
-#: stock/models.py:1484
+#: stock/models.py:1486
msgid "Stock items must refer to the same supplier part"
msgstr ""
-#: stock/models.py:1488
+#: stock/models.py:1490
msgid "Stock status codes must match"
msgstr ""
-#: stock/models.py:1657
+#: stock/models.py:1659
msgid "StockItem cannot be moved as it is not in stock"
msgstr ""
-#: stock/models.py:2125
+#: stock/models.py:2127
msgid "Entry notes"
msgstr ""
-#: stock/models.py:2183
+#: stock/models.py:2185
msgid "Value must be provided for this test"
msgstr ""
-#: stock/models.py:2189
+#: stock/models.py:2191
msgid "Attachment must be uploaded for this test"
msgstr ""
-#: stock/models.py:2208
+#: stock/models.py:2210
msgid "Test name"
msgstr ""
-#: stock/models.py:2214
+#: stock/models.py:2216
msgid "Test result"
msgstr ""
-#: stock/models.py:2220
+#: stock/models.py:2222
msgid "Test output value"
msgstr ""
-#: stock/models.py:2227
+#: stock/models.py:2229
msgid "Test result attachment"
msgstr ""
-#: stock/models.py:2233
+#: stock/models.py:2235
msgid "Test notes"
msgstr ""
@@ -9444,7 +9446,7 @@ msgid "Click on the following link to view this part"
msgstr ""
#: templates/email/low_stock_notification.html:19
-#: templates/js/translated/part.js:2776
+#: templates/js/translated/part.js:2779
msgid "Minimum Quantity"
msgstr ""
@@ -10118,7 +10120,7 @@ msgid "No builds matching query"
msgstr ""
#: templates/js/translated/build.js:2582 templates/js/translated/part.js:1853
-#: templates/js/translated/part.js:2328 templates/js/translated/stock.js:1740
+#: templates/js/translated/part.js:2331 templates/js/translated/stock.js:1740
#: templates/js/translated/stock.js:2520
msgid "Select"
msgstr ""
@@ -10861,7 +10863,7 @@ msgstr ""
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2247
+#: templates/js/translated/part.js:2029 templates/js/translated/part.js:2250
#: templates/js/translated/stock.js:2479
msgid "Display as list"
msgstr ""
@@ -10886,72 +10888,78 @@ msgstr ""
msgid "Category is required"
msgstr ""
-#: templates/js/translated/part.js:2267 templates/js/translated/stock.js:2499
+#: templates/js/translated/part.js:2234
+#, fuzzy
+#| msgid "Subcategories"
+msgid "No subcategories found"
+msgstr "子类别"
+
+#: templates/js/translated/part.js:2270 templates/js/translated/stock.js:2499
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:2347
+#: templates/js/translated/part.js:2350
msgid "Load Subcategories"
msgstr ""
-#: templates/js/translated/part.js:2363
+#: templates/js/translated/part.js:2366
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:2443
+#: templates/js/translated/part.js:2446
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:2494 templates/js/translated/stock.js:1366
+#: templates/js/translated/part.js:2497 templates/js/translated/stock.js:1366
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:2495 templates/js/translated/stock.js:1367
+#: templates/js/translated/part.js:2498 templates/js/translated/stock.js:1367
#: templates/js/translated/stock.js:1629
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:2499
+#: templates/js/translated/part.js:2502
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:2515
+#: templates/js/translated/part.js:2518
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2529
+#: templates/js/translated/part.js:2532
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:2608 templates/js/translated/part.js:2609
+#: templates/js/translated/part.js:2611 templates/js/translated/part.js:2612
msgid "No date specified"
msgstr ""
-#: templates/js/translated/part.js:2611
+#: templates/js/translated/part.js:2614
msgid "Specified date is in the past"
msgstr ""
-#: templates/js/translated/part.js:2617
+#: templates/js/translated/part.js:2620
msgid "Speculative"
msgstr ""
-#: templates/js/translated/part.js:2667
+#: templates/js/translated/part.js:2670
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2673
+#: templates/js/translated/part.js:2676
msgid "Error fetching scheduling information for this part"
msgstr ""
-#: templates/js/translated/part.js:2769
+#: templates/js/translated/part.js:2772
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2785
+#: templates/js/translated/part.js:2788
msgid "Maximum Quantity"
msgstr ""
-#: templates/js/translated/part.js:2830
+#: templates/js/translated/part.js:2833
msgid "Minimum Stock Level"
msgstr ""