diff --git a/InvenTree/locale/cs/LC_MESSAGES/django.po b/InvenTree/locale/cs/LC_MESSAGES/django.po
index 939734dd2c..594e642aac 100644
--- a/InvenTree/locale/cs/LC_MESSAGES/django.po
+++ b/InvenTree/locale/cs/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
@@ -33,9 +33,8 @@ msgstr "Nebyla nalezena odpovídající činnost"
msgid "Enter date"
msgstr "Zadejte datum"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Potvrdit"
@@ -84,8 +83,7 @@ msgstr "Pokaždé musíte zadat stejný email."
msgid "Duplicate serial: {sn}"
msgstr "Duplicitní výrobní číslo: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Vyplněno neplatné množství"
@@ -119,8 +117,8 @@ msgstr "Nenalezena žádná výrobní čísla"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Počet unikátních výrobních čísel ({s}) musí odpovídat množství ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Příloha"
msgid "Select file to attach"
msgstr "Vyberte soubor k přiložení"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Odkaz"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Odkaz na externí URL"
@@ -160,12 +158,12 @@ msgstr "Komentář"
msgid "File comment"
msgstr "Komentář k souboru"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Uživatel"
@@ -202,27 +200,27 @@ msgstr "Chyba při přejmenování souboru"
msgid "Invalid choice"
msgstr "Neplatný výběr"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Název"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Název"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Popis"
@@ -249,7 +247,7 @@ msgstr "Popis (volitelně)"
msgid "parent"
msgstr "nadřazený"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Musí být platné číslo"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Umístěno"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Hotovo"
@@ -441,8 +439,8 @@ msgstr "Ztraceno"
msgid "Returned"
msgstr "Vráceno"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Odesláno"
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/de/LC_MESSAGES/django.po b/InvenTree/locale/de/LC_MESSAGES/django.po
index b4b708833e..25ad2ad656 100644
--- a/InvenTree/locale/de/LC_MESSAGES/django.po
+++ b/InvenTree/locale/de/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: German\n"
"Language: de_DE\n"
@@ -33,9 +33,8 @@ msgstr "Keine passende Aktion gefunden"
msgid "Enter date"
msgstr "Datum eingeben"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Bestätigen"
@@ -84,8 +83,7 @@ msgstr "E-Mail Adressen müssen übereinstimmen."
msgid "Duplicate serial: {sn}"
msgstr "Doppelte Seriennummer: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Keine gültige Menge"
@@ -119,8 +117,8 @@ msgstr "Keine Seriennummern gefunden"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Anzahl der eindeutigen Seriennummern ({s}) muss mit der Anzahl ({q}) übereinstimmen"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Anhang"
msgid "Select file to attach"
msgstr "Datei zum Anhängen auswählen"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Link zu einer externen URL"
@@ -160,12 +158,12 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Datei-Kommentar"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Benutzer"
@@ -202,27 +200,27 @@ msgstr "Fehler beim Umbenennen"
msgid "Invalid choice"
msgstr "Ungültige Auswahl"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Beschreibung"
@@ -249,7 +247,7 @@ msgstr "Beschreibung (optional)"
msgid "parent"
msgstr "Eltern"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Muss eine gültige Nummer sein"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Platziert"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Fertig"
@@ -441,8 +439,8 @@ msgstr "Verloren"
msgid "Returned"
msgstr "Zurückgegeben"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Versendet"
@@ -522,7 +520,7 @@ msgstr "Vom übergeordneten Element geteilt"
msgid "Split child item"
msgstr "Unterobjekt geteilt"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "Lagerartikel zusammengeführt"
@@ -658,14 +656,6 @@ msgstr "Barcode-Hash entspricht bereits einem Lagerartikel"
msgid "Barcode associated with Stock Item"
msgstr "Barcode Lagerartikel zugeordnet"
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Abbruch bestätigen"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Bauabbruch bestätigen"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
@@ -673,7 +663,7 @@ msgstr "Ungültige Wahl für übergeordneten Bauauftrag"
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Bauauftrag"
@@ -691,14 +681,14 @@ msgstr "Bauaufträge"
msgid "Build Order Reference"
msgstr "Bauauftragsreferenz"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Referenz"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "Bauauftrag, zu dem dieser Bauauftrag zugwiesen ist"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Teil"
@@ -760,8 +749,8 @@ msgstr "Auftrag Referenz"
msgid "SalesOrder to which this build is allocated"
msgstr "Bestellung, die diesem Bauauftrag zugewiesen ist"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Quell-Lagerort"
@@ -801,8 +790,8 @@ msgstr "Bauauftrags-Status"
msgid "Build status code"
msgstr "Bau-Statuscode"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Losnummer"
@@ -810,12 +799,12 @@ msgstr "Losnummer"
msgid "Batch code for this build output"
msgstr "Losnummer für dieses Endprodukt"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Erstelldatum"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "geplantes Fertigstellungsdatum"
@@ -823,8 +812,8 @@ msgstr "geplantes Fertigstellungsdatum"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Zieldatum für Bauauftrag-Fertigstellung."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Fertigstellungsdatum"
@@ -832,7 +821,7 @@ msgstr "Fertigstellungsdatum"
msgid "completed by"
msgstr "Fertiggestellt von"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Aufgegeben von"
@@ -842,10 +831,10 @@ msgstr "Nutzer der diesen Bauauftrag erstellt hat"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Verantwortlicher Benutzer"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Nutzer der für diesen Bauauftrag zuständig ist"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Externer Link"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Notizen"
@@ -885,81 +874,80 @@ msgstr "Notizen"
msgid "Extra build notes"
msgstr "Extranotizen für den Bauauftrag"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "kein Endprodukt angegeben"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "Endprodukt bereits hergstellt"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Bauauftragsposition muss ein Endprodukt festlegen, da der übergeordnete Teil verfolgbar ist"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
-msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "BestandObjekt ist zu oft zugewiesen"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "Reserviermenge muss größer null sein"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "Ausgewähltes Bestands-Objekt nicht in Stückliste für Teil '{p}' gefunden"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Bauauftrag"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr "Bauauftrag starten um Teile zuzuweisen"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Lagerartikel"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Quell-Lagerartikel"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Quell-Lagerartikel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Anzahl"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen"
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Installiere in"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Ziel-Lagerartikel"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr "Endprodukt"
@@ -1026,9 +1013,10 @@ msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen"
msgid "Enter quantity for build output"
msgstr "Menge der Endprodukte angeben"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Anzahl muss größer Null sein"
@@ -1040,10 +1028,9 @@ msgstr "Ganzzahl für verfolgbare Teile erforderlich"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält"
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Seriennummer"
@@ -1059,7 +1046,7 @@ msgstr "Seriennummern automatisch zuweisen"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen"
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr "Folgende Seriennummern existieren bereits"
@@ -1067,17 +1054,17 @@ msgstr "Folgende Seriennummern existieren bereits"
msgid "A list of build outputs must be provided"
msgstr "Eine Liste von Endprodukten muss angegeben werden"
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Lagerort"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr "Lagerort für fertige Endprodukte"
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr "Nicht zugewiesene akzeptieren"
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden"
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr "Unvollständig Zuweisung akzeptieren"
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist"
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt"
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr "Bauauftrag hat unvollständige Aufbauten"
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr "Es wurden keine Endprodukte für diesen Bauauftrag erstellt"
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr "Stücklisten-Position"
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr "Endprodukt"
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen"
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part muss auf dasselbe Teil verweisen wie der Bauauftrag"
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "Teil muss auf Lager sein"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Verfügbare Menge ({q}) überschritten"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein"
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden"
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr "Zuweisungen müssen angegeben werden"
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)"
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr "Lagerort ausschließen"
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr "Lagerartikel vom ausgewählten Ort ausschließen"
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr "Wechselbares Lagerbestand"
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden"
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr "Ersatzbestand"
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr "Zuordnung von Ersatzteilen erlauben"
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr "Bauauftrag bearbeiten"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "Bauauftrag abbrechen"
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Bestand wurde Bauauftrag noch nicht vollständig zugewiesen"
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Zieldatum"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Fertig"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Auftrag"
@@ -1322,19 +1324,15 @@ msgstr "Auftrag"
msgid "Issued By"
msgstr "Aufgegeben von"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "Unfertige Endprodukte"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Bauauftrag kann nicht abgeschlossen werden, da es noch unvollständige Endprodukte gibt"
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr "Möchten Sie diesen Bauauftrag wirklich löschen?"
@@ -1351,8 +1349,8 @@ msgstr "Ausgangs-Lager"
msgid "Stock can be taken from any available location."
msgstr "Bestand kann jedem verfügbaren Lagerort entnommen werden."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Ziel-Lager"
@@ -1366,19 +1364,19 @@ msgstr "Zugewiesene Teile"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr "Losnummer"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Erstellt"
@@ -1398,7 +1396,7 @@ msgstr "Unter-Bauaufträge"
msgid "Allocate Stock to Build"
msgstr "Bestand Bauauftrag zuweisen"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "Bestandszuordnung aufheben"
@@ -1428,8 +1426,8 @@ msgstr "Benötigte Teile bestellen"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Teile bestellen"
@@ -1553,11 +1551,7 @@ msgstr "Bauauftragdetails"
msgid "Completed Outputs"
msgstr "Fertiggestellte Endprodukte"
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "Bauauftrag wurde abgebrochen"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "Bauauftrag löschen"
@@ -1598,856 +1592,848 @@ msgstr "{name.title()} Datei"
msgid "Select {name} file to upload"
msgstr "{name} Datei zum Hochladen auswählen"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr "Einstellungs-Wert"
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr "Wert ist keine gültige Option"
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "Wahrheitswert erforderlich"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr "Nur Ganzzahl eingeben"
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr "Schlüsseltext muss eindeutig sein"
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr "Keine Gruppe"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Neustart erforderlich"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert"
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr "Kurze Beschreibung der Instanz"
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr "Name der Instanz verwenden"
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr "Den Namen der Instanz in der Titelleiste verwenden"
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Firmenname"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "interner Firmenname"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "Basis-URL"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "Basis-URL für dieses Instanz"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Standardwährung"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Standardwährung"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Von URL herunterladen"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Bacode-Feature verwenden"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Barcode-Scanner Unterstützung"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr "RegEx Muster für die Zuordnung von Teil-IPN"
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Mehrere Artikel mit gleicher IPN erlaubt"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Ändern von IPN erlaubt"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr "Teil-Stückliste kopieren"
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird "
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr "Teil-Parameter kopieren"
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr "Teil-Testdaten kopieren"
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird"
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr "Kategorie-Parametervorlage kopieren"
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird"
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Vorlage"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "Teile sind standardmäßig Vorlagen"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Baugruppe"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden"
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Komponente"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr "Teile können standardmäßig in Baugruppen benutzt werden"
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Kaufbar"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Artikel sind grundsätzlich kaufbar"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Verkäuflich"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Artikel sind grundsätzlich verkaufbar"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Nachverfolgbar"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Artikel sind grundsätzlich verfolgbar"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuell"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Teile sind grundsätzlich virtuell"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr "Import in Ansichten anzeigen"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr "Importassistent in einigen Teil-Ansichten anzeigen"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Preis in Formularen anzeigen"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr "Teilpreis in einigen Formularen anzeigen"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr "Preis in Stückliste anzeigen"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr "Preisinformationen in Stücklisten Tabellen einbeziehen"
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr "Preisverlauf anzeigen"
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr "Historische Preise für Teil anzeigen"
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "Verwandte Teile anzeigen"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr "Verwandte Teile eines Teils anzeigen"
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr "Ausgangsbestand erstellen"
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr "Ausgangsbestand beim Erstellen von Teilen erstellen"
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr "Interne Preise"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr "Interne Preise für Teile aktivieren"
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr "Interner Preis als Stückliste-Preis"
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Interner Preis (falls vorhanden) in Stücklisten-Preisberechnungen verwenden"
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr "Anzeigeformat für Teilenamen"
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr "Format für den Namen eines Teiles"
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr "Berichte aktivieren"
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr "Berichterstellung aktivieren"
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Entwickler-Modus"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr "Berichte im Entwickler-Modus generieren (als HTML)"
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Seitengröße"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "Standardseitenformat für PDF-Bericht"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "Test-Berichte"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr "Erstellung von Test-Berichten aktivieren"
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr "Bestands-Ablauf"
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr "Ablaufen von Bestand ermöglichen"
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr "Abgelaufenen Bestand verkaufen"
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr "Verkauf von abgelaufenem Bestand erlaubt"
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr "Bestands-Stehzeit"
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen"
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "Tage"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr "Abgelaufenen Bestand verbauen"
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr "Verbauen von abgelaufenen Bestand erlaubt"
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr "Bestands-Eigentümerkontrolle"
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren"
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr "Bauauftrag-Referenz Präfix"
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr "Präfix für Bauauftrag-Referenz"
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr "Bauauftrag-Referenz RegEx"
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr "RegEx Muster für die Zuordnung von Bauauftrag-Referenzen"
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr "Auftrags-Referenz Präfix"
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr "Präfix für Auftrags-Referenz"
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr "Bestellungs-Referenz Präfix"
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr "Präfix für Bestellungs-Referenz"
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr "Passwort vergessen aktivieren"
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren"
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr "Anmeldung erlauben"
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren"
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "SSO aktivieren"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "SSO auf den Anmeldeseiten aktivieren"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "Email-Adresse erforderlich"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben"
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr "SSO-Benutzer automatisch ausfüllen"
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen"
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr "E-Mail zweimal"
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen"
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr "Passwort zweimal"
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen"
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr "Gruppe bei Registrierung"
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe der neue Benutzer bei der Registrierung zugewiesen werden"
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr "MFA erzwingen"
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden."
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr "Plugins beim Start prüfen"
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren"
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr "URL-Integration aktivieren"
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr "Plugins zum Hinzufügen von URLs aktivieren"
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr "Navigations-Integration aktivieren"
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr "Plugins zur Integration in die Navigation aktivieren"
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr "App-Integration aktivieren"
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr "Plugins zum Hinzufügen von Apps aktivieren"
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr "Terminplan-Integration aktivieren"
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr "Geplante Aufgaben aktivieren"
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr "Ereignis-Integration aktivieren"
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren"
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr "Einstellungs-Schlüssel (muss einzigartig sein, Groß-/ Kleinschreibung wird nicht beachtet)"
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr "Abonnierte Teile anzeigen"
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr "Zeige abonnierte Teile auf der Startseite"
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr "Abonnierte Kategorien anzeigen"
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr "Zeige abonnierte Teilkategorien auf der Startseite"
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Neueste Teile anzeigen"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "Zeige neueste Teile auf der Startseite"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr "Aktuelle Teile-Stände"
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr "Anzahl der neusten Teile auf der Startseite"
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr "Nicht validierte Stücklisten anzeigen"
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr "Zeige Stücklisten, die noch nicht validiert sind, auf der Startseite"
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr "Neueste Bestandänderungen anzeigen"
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr "Zeige zuletzt geänderte Lagerbestände auf der Startseite"
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr "aktueller Bestand"
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr "Anzahl des geänderten Bestands auf der Startseite"
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr "Niedrigen Bestand anzeigen"
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr "Zeige geringen Bestand auf der Startseite"
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr "Lerren Bestand anzeigen"
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr "Zeige aufgebrauchte Lagerartikel auf der Startseite"
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr "Benötigten Bestand anzeigen"
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr "Zeige Bestand für Bauaufträge auf der Startseite"
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr "Abgelaufenen Bestand anzeigen"
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr "Zeige abgelaufene Lagerbestände auf der Startseite"
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr "Alten Bestand anzeigen"
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr "Zeige überfällige Lagerartikel auf der Startseite"
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr "Ausstehende Bauaufträge anzeigen"
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr "Zeige ausstehende Bauaufträge auf der Startseite"
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr "Zeige überfällige Bauaufträge"
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr "Zeige überfällige Bauaufträge auf der Startseite"
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr "Ausstehende POs anzeigen"
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr "Zeige ausstehende POs auf der Startseite"
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr "Überfällige POs anzeigen"
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr "Zeige überfällige POs auf der Startseite"
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr "Ausstehende SOs anzeigen"
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr "Zeige ausstehende SOs auf der Startseite"
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr "Überfällige SOs anzeigen"
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr "Zeige überfällige SOs auf der Startseite"
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr "E-Mail-Benachrichtigungen aktivieren"
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben"
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr "Labeldruck aktivieren"
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr "Labeldruck über die Website aktivieren"
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr "Label inline anzeigen"
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF-Labels im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr "Berichte inline anzeigen"
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF-Berichte im Browser anzeigen, anstatt als Datei herunterzuladen"
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr "Teile suchen"
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr "Teile in der Suchvorschau anzeigen"
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr "Kategorien durchsuchen"
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr "Teilekategorien in der Suchvorschau anzeigen"
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr "Bestand durchsuchen"
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr "Lagerartikel in Suchvorschau anzeigen"
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr "Lagerorte durchsuchen"
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr "Lagerorte in Suchvorschau anzeigen"
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr "Firmen durchsuchen"
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr "Firmen in der Suchvorschau anzeigen"
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr "Bestellungen durchsuchen"
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr "Bestellungen in der Suchvorschau anzeigen"
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr "Aufträge durchsuchen"
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr "Aufträge in der Suchvorschau anzeigen"
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr "Anzahl Suchergebnisse"
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr "Anzahl der Ergebnisse, die in der Vorschau pro Sektion angezeigt werden sollen"
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr "Inaktive Teile ausblenden"
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr "Inaktive Teile in der Suchvorschau ausblenden"
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr "zeige Bestand in Eingabemasken"
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr "Zeige den verfügbaren Bestand in einigen Eingabemasken"
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr "Esc-Taste schließt Formulare"
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr "Benutze die Esc-Taste, um Formulare zu schließen"
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr "Fixierter Navigationsleiste"
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr "Datumsformat"
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr "Bevorzugtes Format für die Anzeige von Daten"
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr "Teilzeitplanung"
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr "Zeige Zeitplanung für Teile"
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr "Preisstaffelungs Anzahl"
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Preis"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr "Stückpreis für die angegebene Anzahl"
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr "Endpunkt"
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr "Endpunkt, an dem dieser Webhook empfangen wird"
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr "Name für diesen Webhook"
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr "Name für diesen Webhook"
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr "Ist dieser Webhook aktiv"
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr "Token für Zugang"
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr "Shared Secret für HMAC"
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr "Nachrichten-ID"
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr "Eindeutige Kennung für diese Nachricht"
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr "Host von dem diese Nachricht empfangen wurde"
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr "Header dieser Nachricht"
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr "Body dieser Nachricht"
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr "Endpunkt, über den diese Nachricht empfangen wurde"
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr "Bearbeitet"
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?"
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Datei hochgeladen"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "Firmenbeschreibung"
msgid "Description of the company"
msgstr "Firmenbeschreibung"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr "Firmenwebsite Adresse/URL"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adresse"
@@ -2593,7 +2579,7 @@ msgstr "Kontakt-Tel."
msgid "Contact phone number"
msgstr "Kontakt-Telefon"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr "Kontakt-Email"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kontakt"
@@ -2614,7 +2600,7 @@ msgstr "Anlaufstelle"
msgid "Link to external company information"
msgstr "Link auf externe Firmeninformation"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Bild"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Produziert diese Firma Teile?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Währung"
@@ -2652,18 +2638,18 @@ msgstr "Währung"
msgid "Default currency used for this company"
msgstr "Standard-Währung für diese Firma"
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Basisteil"
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "Teil auswählen"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr "Teil auswählen"
msgid "Manufacturer"
msgstr "Hersteller"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Hersteller auswählen"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Hersteller-Teilenummer"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr "Externe URL für das Herstellerteil"
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr "Teilbeschreibung des Herstellers"
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "Herstellerteil"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr "Parametername"
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Wert"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "Parameterwert"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Einheiten"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr "Parametereinheit"
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren"
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Zulieferer"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Zulieferer auswählen"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr "SKU (Lagerbestandseinheit)"
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr "Lagerbestandseinheit (SKU) des Zulieferers"
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr "Herstellerteil auswählen"
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr "Teil-URL des Zulieferers"
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr "Zuliefererbeschreibung des Teils"
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Notiz"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "Basiskosten"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Mindestpreis"
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Verpackungen"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr "Teile-Verpackungen"
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr "Vielfache"
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr "Mehrere bestellen"
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr "Letzte Aktualisierung"
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr "Firma"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Bestellung anlegen"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr "Firmenaktionen"
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr "Firmeninformation bearbeiten"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "Firma bearbeiten"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr "Unternehmen löschen"
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "Firma löschen"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Neues Bild hochladen"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Bild von URL herunterladen"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Kunde"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "verwendet Standard-Währung"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "Bild hochladen"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "Zuliefererteile"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Neues Zuliefererteil anlegen"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Neues Zuliefererteil"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr "Optionen"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Teile bestellen"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr "Neuer Auftrag"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr "Zugeordneter Bestand"
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr "Firmenbemerkungen"
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "Zuliefererteil entfernen?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "Alle ausgewählten Zulieferteile werden gelöscht"
@@ -3018,77 +3002,81 @@ msgstr "Zulieferer-Liste"
msgid "Manufacturers"
msgstr "Hersteller"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "Teil bestellen"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "Herstellerteil bearbeiten"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "Herstellerteil löschen"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "Internes Teil"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Zulieferer"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Zuliefererteil entfernen"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Löschen"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parameter"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "Neuer Parameter"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr "Parameter löschen"
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr "Parameter hinzufügen"
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr "Ausgewählte Parameter werden gelöscht"
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr "Parameter löschen"
@@ -3110,8 +3098,9 @@ msgstr "Zugewiesene Lagerartikel"
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr "Zuliefererteil"
@@ -3125,66 +3114,70 @@ msgstr "Zuliefererteil bearbeiten"
msgid "Delete supplier part"
msgstr "Zuliefererteil entfernen"
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Zulieferer-Bestand"
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr "Neuen Lagerartikel hinzufügen"
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr "Neuer Lagerartikel"
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Zulieferer-Bestellungen"
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr "Teil bestellen"
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Preisinformationen ansehen"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr "Preisstaffel hinzufügen"
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr "Keine Informationen zur Preisstaffel gefunden"
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr "Preisstaffel löschen"
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr "Preisstaffel bearbeiten"
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr "Preisstaffel bearbeiten"
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr "Preisstaffel löschen"
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr "Zuletzt aktualisiert"
@@ -3196,7 +3189,7 @@ msgstr "Zuletzt aktualisiert"
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Bestand"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr "Bepreisung"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Lagerartikel"
@@ -3338,19 +3331,6 @@ 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/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr "Bestellung aufgeben"
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr "Bestellung als vollständig markieren"
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Bestellung stornieren"
-
#: order/models.py:130
msgid "Order description"
msgstr "Bestellungs-Beschreibung"
@@ -3371,280 +3351,285 @@ msgstr "Nutzer oder Gruppe der/die für diesen Auftrag zuständig ist/sind"
msgid "Order notes"
msgstr "Bestell-Notizen"
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr "Bestell-Referenz"
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr "Bestellungs-Status"
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr "Firma bei der die Teile bestellt werden"
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr "Zulieferer-Referenz"
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr "Zulieferer Bestellreferenz"
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr "Empfangen von"
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr "Aufgabedatum"
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr "Datum an dem die Bestellung aufgegeben wurde"
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr "Ziel-Versanddatum"
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Geplantes Lieferdatum für Auftrag."
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr "Datum an dem der Auftrag fertigstellt wurde"
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr "Teile-Zulieferer muss dem Zulieferer der Bestellung entsprechen"
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr "Anzahl muss eine positive Zahl sein"
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr "Firma an die die Teile verkauft werden"
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr "Kundenreferenz"
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr "Bestellreferenz"
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Zieldatum für Auftrags-Fertigstellung."
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr "Versanddatum"
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr "Versand von"
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr "Auftrag kann nicht abgeschlossen werden, da keine Teile zugewiesen wurden"
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr "Nur ein ausstehender Auftrag kann als abgeschlossen markiert werden"
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "Auftrag kann nicht abgeschlossen werden, da unvollständige Sendungen vorhanden sind"
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr "Auftrag kann nicht abgeschlossen werden, da es unvollständige Positionen gibt"
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr "Anzahl"
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr "Position - Referenz"
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr "Position - Notizen"
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr "Lieferdatum für diese Position"
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr "Lieferantenteil muss mit Lieferant übereinstimmen"
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr "Bestellung"
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr "Bestellung"
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr "Zuliefererteil"
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr "Empfangen"
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr "Empfangene Objekt-Anzahl"
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "Preis"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr "Preis pro Einheit"
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Wo möchte der Käufer diesen Artikel gelagert haben?"
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr "Verkaufspreis"
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr "Stückverkaufspreis"
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr "Versendete Menge"
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr "Versanddatum"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr "Kontrolliert von"
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr "Benutzer, der diese Sendung kontrolliert hat"
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr "Sendungsnummer"
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr "Versandhinweise"
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr "Sendungsverfolgungsnummer"
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr "Informationen zur Sendungsverfolgung"
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr "Sendung wurde bereits versandt"
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr "Sendung hat keine zugewiesene Lagerartikel"
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr "Lagerartikel wurde nicht zugewiesen"
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Kann Lagerartikel keiner Zeile mit einem anderen Teil hinzufügen"
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr "Kann Lagerartikel keiner Zeile ohne Teil hinzufügen"
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten"
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr "Zu viele Lagerartikel zugewiesen"
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein"
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr "Auftrag gehört nicht zu Sendung"
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr "Sendung gehört nicht zu Auftrag"
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr "Position"
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr "Sendung"
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr "Sendungsnummer-Referenz"
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr "Position"
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr "Lagerartikel für Zuordnung auswählen"
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
@@ -3652,99 +3637,118 @@ msgstr "Anzahl für Bestandszuordnung eingeben"
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr "Bestellung kann nicht verworfen werden"
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr "Kaufpreiswährung"
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr "Position"
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr "Position stimmt nicht mit Kaufauftrag überein"
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr "Zielort für empfangene Teile auswählen"
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr "Losnummer für eingehende Lagerartikel"
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr "Seriennummern für eingehende Lagerartikel"
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr "Barcode-Hash"
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Einzigartiger Identifikator"
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr "Barcode ist bereits in Verwendung"
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr "Ganzzahl für verfolgbare Teile erforderlich"
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr "Positionen müssen angegeben werden"
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr "Ziel-Lagerort muss angegeben werden"
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr "Barcode muss eindeutig sein"
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr "Verkaufspreis-Währung"
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr "Keine Sendungsdetails angegeben"
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr "Position ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr "Anzahl muss positiv sein"
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr "Seriennummern zum Zuweisen eingeben"
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr "Sendung wurde bereits versandt"
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr "Sendung ist nicht diesem Auftrag zugeordnet"
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr "Folgende Serienummern konnten nicht gefunden werden"
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr "Folgende Seriennummern sind bereits zugewiesen"
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr "Sind Sie sicher, dass Sie diesen Anhang löschen wollen?"
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr "Bestellbericht drucken"
@@ -3764,6 +3768,15 @@ msgstr "Bestell-Aktionen"
msgid "Edit order"
msgstr "Auftrag bearbeiten"
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Bestellung stornieren"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr "Bestellung aufgeben"
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr "Elemente empfangen"
@@ -3773,8 +3786,12 @@ msgstr "Elemente empfangen"
msgid "Receive Items"
msgstr "Teile empfangen"
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr "Bestellung als vollständig markieren"
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr "Auftrag fertigstellen"
@@ -3793,51 +3810,35 @@ msgstr "Bestellungsbeschreibung"
msgid "Order Status"
msgstr "Bestellstatus"
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr "Abgeschlossene Positionen"
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr "Unvollständig"
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr "Aufgegeben"
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr "Bestellung bearbeiten"
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr "Abbruch dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind."
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr "Diese Bestellung als vollständig markieren?"
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden."
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind."
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr "Nachdem diese Bestellung plaziert ist können die Positionen nicht länger bearbeitbar ist."
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr "Zulieferer-Teil auswählen"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Zeile entfernen"
@@ -3884,64 +3886,6 @@ msgstr "Datei zur Bestellung hochladen"
msgid "Order is already processed. Files cannot be uploaded."
msgstr "Bestellung ist bereits verarbeitet. Dateien können nicht hochgeladen werden."
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr "Schritt 1 von 2 - Zulieferer auswählen"
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr "Zulieferer auswählen"
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr "Keine kaufbaren Teile ausgewählt"
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "Zulieferer auswählen"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr "Kein Preis"
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr "Zulieferer auswählen für %(name)s"
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr "Teil entfernen"
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr "Schritt 2 von 2 - Bestellung auswählen"
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr "Bestellungen auswählen oder anlegen."
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr "Positionen"
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr "Bestellung auswählen"
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr "Neue Bestellung für %(name)s anlegen"
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr "Bestellung für %(name)s auswählen"
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr "Bestellungs-Positionen"
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr "Empfangene Teile"
msgid "Order Notes"
msgstr "Notizen zur Bestellung"
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr "Paketliste drucken"
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr "Auftrag abschließen"
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Dieser Auftrag ist nicht vollständig zugeordnet"
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr "Kundenreferenz"
@@ -4029,15 +3973,6 @@ msgstr "Abgeschlossene Sendungen"
msgid "Edit Sales Order"
msgstr "Auftrag bearbeiten"
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "Warnung"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist."
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr "Auftrags-Positionen"
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr "Ausstehende Sendungen"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr "Aktionen"
@@ -4056,69 +3991,24 @@ msgstr "Aktionen"
msgid "New Shipment"
msgstr "Neue Sendung"
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "Bestellung stornieren"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr "Bestellstornierung bestätigen"
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr "Bestellung kann nicht verworfen werden"
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr "Auftrag stornieren"
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr "Bestellung aufgeben"
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr "Bestellungstätigung bestätigen"
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr "Bestellung plaziert"
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr "Fertigstellung bestätigen"
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr "Bestellung als vollständig markieren"
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr "Zuliefererteile zuordnen"
-#: order/views.py:489
-msgid "Update prices"
-msgstr "Preise aktualisieren"
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr "{n} Teile bestellt"
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr "Auftrag nicht gefunden"
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr "Preis nicht gefunden"
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr "Stückpreis für {part} auf {price} aktualisiert"
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "{part} Stückpreis auf {price} und Menge auf {qty} aktualisiert"
@@ -4167,7 +4057,7 @@ msgstr "Standort für anfänglichen Bestand angeben"
msgid "This field is required"
msgstr "Dieses Feld ist erforderlich"
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Standard-Lagerort"
@@ -4191,15 +4081,15 @@ msgstr "Bestellt"
msgid "Select part category"
msgstr "Teil-Kategorie wählen"
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr "Parameter-Vorlage zu Kategorien dieser Ebene hinzufügen"
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr "Parameter-Vorlage zu allen Kategorien hinzufügen"
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr "Menge für die Preisberechnung"
@@ -4215,7 +4105,7 @@ msgstr "Standard Stichwörter"
msgid "Default keywords for parts in this category"
msgstr "Standard-Stichworte für Teile dieser Kategorie"
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Teil-Kategorie"
@@ -4232,7 +4122,7 @@ msgstr "Teil-Kategorien"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Teile"
@@ -4241,411 +4131,411 @@ msgstr "Teile"
msgid "Invalid choice for parent part"
msgstr "Ungültige Auswahl für übergeordnetes Teil"
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Teil '{p1}' wird in Stückliste für Teil '{p2}' benutzt (rekursiv)"
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr "Nächste verfügbare Seriennummern wären"
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr "Nächste verfügbare Seriennummer ist"
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr "Die neuste Seriennummer ist"
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr "Doppelte IPN in den Teil-Einstellungen nicht erlaubt"
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "Name des Teils"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr "Ist eine Vorlage"
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr "Ist dieses Teil eine Vorlage?"
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr "Ist dieses Teil eine Variante eines anderen Teils?"
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr "Variante von"
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Beschreibung des Teils"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Schlüsselwörter"
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern"
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Kategorie"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr "Teile-Kategorie"
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "IPN (Interne Produktnummer)"
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr "Interne Teilenummer"
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr "Revisions- oder Versionsnummer"
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr "Wo wird dieses Teil normalerweise gelagert?"
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Standard Zulieferer"
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr "Standard Zuliefererteil"
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr "Standard Ablaufzeit"
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils"
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimaler Bestand"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr "Minimal zulässiger Bestand"
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr "Stock Keeping Units (SKU) für dieses Teil"
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr "Kann dieses Teil aus anderen Teilen angefertigt werden?"
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr "Kann dieses Teil zum Bauauftrag von anderen genutzt werden?"
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr "Hat dieses Teil Tracking für einzelne Objekte?"
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr "Kann dieses Teil von externen Zulieferern gekauft werden?"
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr "Kann dieses Teil an Kunden verkauft werden?"
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr "Ist dieses Teil aktiv?"
-#: part/models.py:997
+#: part/models.py:992
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:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr "Bemerkungen - unterstüzt Markdown-Formatierung"
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr "Prüfsumme der Stückliste gespeichert"
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr "Stückliste kontrolliert von"
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr "BOM Kontrolldatum"
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr "Erstellungs-Nutzer"
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr "Mehrere verkaufen"
-#: part/models.py:2442
+#: part/models.py:2437
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:2459
+#: part/models.py:2454
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:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Test-Name"
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr "Namen für diesen Test eingeben"
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr "Test-Beschreibung"
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr "Beschreibung für diesen Test eingeben"
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Benötigt"
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr "Muss dieser Test erfolgreich sein?"
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr "Erfordert Wert"
-#: part/models.py:2498
+#: part/models.py:2493
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:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr "Anhang muss eingegeben werden"
-#: part/models.py:2504
+#: part/models.py:2499
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:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr "Ungültiges Zeichen im Vorlagename ({c})"
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr "Vorlagen-Name des Parameters muss eindeutig sein"
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr "Name des Parameters"
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr "Einheit des Parameters"
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr "Ausgangsteil"
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr "Parameter Vorlage"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr "Wert"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr "Parameter Wert"
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr "Standard-Wert"
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr "Standard Parameter Wert"
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr "Teilnummer oder Teilname"
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Teil-ID"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr "Eindeutige Teil-ID"
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr "Name des Teils"
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr "Teil-ID"
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr "IPN-Wert des Teils"
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr "Stufe"
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr "Stücklistenebene"
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr "Ausgangsteil auswählen"
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr "Untergeordnetes Teil"
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr "Teil für die Nutzung in der Stückliste auswählen"
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr "Stücklisten-Anzahl für dieses Stücklisten-Teil"
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr "Diese Stücklisten-Position ist optional"
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Überschuss"
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr "Geschätzter Ausschuss (absolut oder prozentual)"
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr "Referenz der Postion auf der Stückliste"
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr "Notizen zur Stücklisten-Position"
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr "Prüfsumme"
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr "Prüfsumme der Stückliste"
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "Geerbt"
-#: part/models.py:2812
+#: part/models.py:2807
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:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Varianten zulassen"
-#: part/models.py:2818
+#: part/models.py:2813
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:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr "Menge muss eine Ganzzahl sein"
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr "Zuliefererteil muss festgelegt sein"
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr "Stücklisten Ersatzteile"
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr "Ersatzteil kann nicht identisch mit dem Hauptteil sein"
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr "Übergeordnete Stücklisten Position"
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr "Ersatzteil"
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr "Teil 1"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr "Teil 2"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr "verknüpftes Teil auswählen"
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Fehler bei Verwandschaft: Ist das Teil mit sich selbst verwandt oder ist das die Verwandtschaft nicht eindeutig?"
@@ -4805,7 +4695,7 @@ msgstr "Pfad zur Kategorie"
msgid "Top level part category"
msgstr "Oberste Teil-Kategorie"
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Unter-Kategorien"
@@ -4826,39 +4716,31 @@ msgstr "Neues Teil"
msgid "Set category"
msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "Teil-Kategorie auswählen"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr "Label drucken"
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr "Exportieren"
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr "Exportieren"
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr "Teilparameter"
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr "Teil-Kategorie hinzufügen"
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr "Teil hinzufügen"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr "Ein weiteres Teil anlegen"
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr "Teil erfolgreich angelegt"
@@ -5046,26 +4928,26 @@ msgstr "verknüpftes Teil"
msgid "Add Related Part"
msgstr "verknüpftes Teil hinzufügen"
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Testergebnis-Vorlage hinzufügen"
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr "Stückpreis Einkauf - %(currency)s"
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr "Stückpreis Differenz - %(currency)s"
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr "Stückpreis Zulieferer - %(currency)s"
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr "Stückpreis - %(currency)s"
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr "Inaktiv"
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr "Teildetails anzeigen"
@@ -5225,7 +5107,7 @@ msgstr "Teildetails anzeigen"
msgid "This part is a variant of %(link)s"
msgstr "Dieses Teil ist eine Variante von %(link)s"
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr "Auf Lager"
@@ -5269,7 +5151,7 @@ msgstr "Berechnen"
msgid "No matching images found"
msgstr "Keine passenden Bilder gefunden"
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr "Teildetails ausblenden"
@@ -5384,7 +5266,7 @@ msgstr "Es sind %(count)s Hersteller für diesen Teil definiert. Wenn Sie diesen
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr "Es sind %(count)s Zulieferer für diesen Teil definiert. Wenn Sie diesen Teil löschen, werden auch die folgenden Zuliefererteile gelöscht:"
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr "Es gibt %(count)s einzigartige Teile, die für '%(full_name)s' verfolgt werden. Das Löschen dieses Teils wird diese Tracking-Informationen dauerhaft entfernen."
@@ -5459,6 +5341,10 @@ msgstr "Keine Verkaufsgeschichte für diesen Teil verfügbar."
msgid "Set category for the following parts"
msgstr "Kategorie für Teile setzen"
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr "Teil entfernen"
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5580,27 +5466,23 @@ msgstr "Teilparametervorlage bearbeiten"
msgid "Delete Part Parameter Template"
msgstr "Teilparametervorlage löschen"
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr "Teil-Kategorie bearbeiten"
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr "Teil-Kategorie löschen"
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr "Teil-Kategorie wurde gelöscht"
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr "Kategorieparametervorlage anlegen"
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr "Kategorieparametervorlage bearbeiten"
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr "Kategorieparametervorlage löschen"
@@ -5608,7 +5490,25 @@ msgstr "Kategorieparametervorlage löschen"
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr "Ihre Umgebung verwendet eine veraltete Git-Version. Dies hindert InvenTree daran, Plugin-Details zu laden."
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr "E-Mail-Benachrichtigungen aktivieren"
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr "Das Senden von Benachrichtigungen als E-Mails erlauben"
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr "Labeldruck fehlgeschlagen"
@@ -5620,34 +5520,38 @@ msgstr "Kein Autor gefunden"
msgid "No date found"
msgstr "Kein Datum gefunden"
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr "Plugin-Konfiguration"
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr "Plugin-Konfigurationen"
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr "Schlüssel"
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr "Schlüssel des Plugins"
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr "Name des Plugins"
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr "Ist das Plugin aktiv"
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr "Bestellungen aktivieren"
@@ -5805,17 +5709,21 @@ msgstr "Ressource-Beschreibung"
msgid "Required For"
msgstr "benötigt für"
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr "Lagerartikel Test-Bericht"
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Seriennummer"
@@ -5836,7 +5744,7 @@ msgstr "Ergebnis"
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr "Datum"
@@ -5854,67 +5762,25 @@ msgid "Installed Items"
msgstr "Verbaute Objekte"
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr "Seriennummer"
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr "Menge ist erforderlich"
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr "Gültiges Teil muss angegeben werden"
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden"
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr "Ablaufdatum"
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr "Ablaufdatum für diesen Lagerartikel"
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr "Eindeutige Seriennummern eingeben (oder leer lassen)"
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr "Lagerort für serial"
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr "Seriennummern"
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr "Anzahl der eindeutigen Seriennummern (muss mit der Anzahl übereinstimmen)"
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr " Transaktionsnotizen hinzufügen (optional)"
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr "Ziel Lagerort für unverbaute Objekte"
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr "nicht mehr verbauen bestätigen"
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr "Entfernen der verbauten Lagerartikel bestätigen"
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Besitzer"
@@ -6016,6 +5882,11 @@ msgstr "Bestellung für diesen Lagerartikel"
msgid "Destination Sales Order"
msgstr "Ziel-Auftrag"
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr "Ablaufdatum"
+
#: stock/models.py:718
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"
@@ -6090,7 +5961,7 @@ msgstr "Lagerartikel wird aktuell produziert"
msgid "Serialized stock cannot be merged"
msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden"
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr "Artikel duplizeren"
@@ -6159,7 +6030,7 @@ msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})"
msgid "Enter serial numbers for new items"
msgstr "Seriennummern für neue Teile eingeben"
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr "Ziel-Bestand"
@@ -6171,7 +6042,7 @@ msgstr "Optionales Notizfeld"
msgid "Serial numbers cannot be assigned to this part"
msgstr "Seriennummern können diesem Teil nicht zugewiesen werden"
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Seriennummern existieren bereits"
@@ -6187,63 +6058,71 @@ msgstr "Lagerartikel ist nicht verfügbar"
msgid "Selected part is not in the Bill of Materials"
msgstr "Ausgewähltes Teil ist nicht in der Stückliste"
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr " Transaktionsnotizen hinzufügen (optional)"
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr "Teil muss verkaufbar sein"
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr "Artikel ist einem Kundenauftrag zugeordnet"
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr "Artikel ist einem Fertigungsauftrag zugeordnet"
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr "Kunde zum Zuweisen von Lagerartikel"
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr "Ausgewählte Firma ist kein Kunde"
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr "Notizen zur Lagerzuordnung"
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr "Eine Liste der Lagerbestände muss angegeben werden"
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr "Notizen zur Lagerartikelzusammenführung"
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr "Unterschiedliche Lieferanten erlauben"
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben"
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr "Unterschiedliche Status erlauben"
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben"
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr "Mindestens zwei Lagerartikel müssen angegeben werden"
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr "Primärschlüssel Lagerelement"
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr "Bestandsbewegungsnotizen"
@@ -6284,17 +6163,17 @@ msgstr "Testdaten hinzufügen"
msgid "Installed Stock Items"
msgstr "Installierte Lagerartikel"
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr "Lagerartikel installieren"
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr "Testergebnis hinzufügen"
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr "Barcode abhängen"
@@ -6413,7 +6292,7 @@ msgid "Stale"
msgstr "überfällig"
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr "Zuletzt aktualisiert"
@@ -6450,7 +6329,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Diesesr Lagerartikel ist serialisiert. Es hat eine eindeutige Seriennummer und die Anzahl kann nicht angepasst werden."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr "Kein Lagerort gesetzt"
@@ -6466,20 +6345,20 @@ msgstr "Elternposition"
msgid "No manufacturer set"
msgstr "Kein Hersteller ausgewählt"
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Sie gehören nicht zu den Eigentümern dieses Objekts und können es nicht ändern."
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr "Nur Leserechte"
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr "Bestandsstatus bearbeiten"
@@ -6600,11 +6479,7 @@ msgstr "Zuweisungen"
msgid "Child Items"
msgstr "Untergeordnete Objekte"
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr "Die folgenden Lagerartikel werden nicht mehr verbaut"
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr "Lagerartikel umwandeln"
@@ -6617,6 +6492,10 @@ msgstr "Lagerartikel ist aktuell eine Instanz von %(part)s"
msgid "It can be converted to one of the part variants listed below."
msgstr "Es kann in eine der folgenden Varianten konvertiert werden."
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "Warnung"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
@@ -6625,95 +6504,55 @@ msgstr "Diese Aktion kann nicht einfach rückgängig gemacht werden"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr "Sind Sie sicher, dass Sie diesen Lagerartikel-Verfolgungs-Eintrag löschen wollen?"
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr "Lagerartikel-Ort bearbeiten"
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr "Eigentümer notwendig (Eigentümerkontrolle aktiv)"
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr "QR-Code für diesen Lagerort"
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr "zurück ins Lager"
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr "gültigen Lagerort angeben"
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr "Lagerartikel retoure vom Kunden"
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr "alle Testdaten löschen"
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr "Löschen Testdaten bestätigen"
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr "Bestätigungsbox bestätigen"
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr "Lagerartikel-QR-Code"
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr "Lagerartikel deinstallieren"
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr "Bestands-Anpassung bestätigen"
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr "Lagerartikel deinstalliert"
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr "Lagerartikel bearbeiten"
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "Neuen Lagerort erstellen"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr "Neuen Lagerartikel hinzufügen"
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr "Bestand duplizieren"
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr "Anzahl kann nicht negativ sein"
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr "Bestand-Lagerort löschen"
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr "Lagerartikel löschen"
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr "Bestand-Tracking-Eintrag löschen"
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr "Bestand-Verfolgungs-Eintrag bearbeiten"
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr "Bestand-Verfolgungs-Eintrag hinzufügen"
@@ -6848,7 +6687,7 @@ msgid "Notifications"
msgstr "Benachrichtigungen"
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7093,41 +6932,41 @@ msgstr "Bestellungs-Einstellungen"
msgid "Report Settings"
msgstr "Berichts-Einstellungen"
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr "Kein Wert angegeben"
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr "Einstellungen ändern"
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr "Plugin-Einstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr "Allgemeine Einstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr "Benutzereinstellungen bearbeiten"
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "Keine Kategorie-Parametervorlagen gefunden"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr "Vorlage bearbeiten"
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr "Vorlage löschen"
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr "Keine Teilparametervorlagen gefunden"
@@ -7418,7 +7257,7 @@ msgstr "Startseite-Einstellungen"
msgid "Label Settings"
msgstr "Labeleinstellungen"
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr "Benachrichtigungs-Einstellungen"
@@ -7428,10 +7267,10 @@ msgstr "InvenTree-Versionsinformationen"
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Schliessen"
@@ -7705,8 +7544,8 @@ msgstr "Benötigte Menge"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7741,11 +7580,11 @@ msgstr "Der angegebene Server muss erreichbar sein"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "Das Bild darf nicht größer als die maximal-erlaubte Größe sein"
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr "Keine Antwort"
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr "keine Antwort vom InvenTree Server"
@@ -7757,27 +7596,27 @@ msgstr "Fehler 400: Fehlerhafte Anfrage"
msgid "API request returned error code 400"
msgstr "Fehler-Code 400 zurückgegeben"
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr "Fehler 401: Nicht Angemeldet"
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr "Authentication Kredentials nicht angegeben"
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr "Fehler 403: keine Berechtigung"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr "Fehlende Berechtigung für diese Aktion"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr "Fehler 404: Ressource nicht gefunden"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr "Die angefragte Ressource kann auf diesem Server nicht gefunden werden"
@@ -7789,11 +7628,11 @@ msgstr "Fehler 405: Methode nicht erlaubt"
msgid "HTTP method not allowed at URL"
msgstr "HTTP-Methode für diese URL nicht erlaubt"
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr "Fehler 408: Zeitüberschreitung"
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr "Verbindungszeitüberschreitung bei der Datenanforderung"
@@ -7845,89 +7684,89 @@ msgstr "Barcode-Daten eingeben"
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr "Optionale Notizen zu Bestandsübertragung eingeben"
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr "Notizen eingeben"
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr "Server-Fehler"
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr "Unbekannte Antwort von Server erhalten"
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr "Ungültige Antwort von Server"
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr "Barcode unterhalb scannen"
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr "Barcode scannen"
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr "keine URL in der Antwort"
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr "Barcode mit Lagerartikel verknüpfen"
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr "Dadurch wird die Verknüpfung zwischen diesem Lagerartikel und dem Barcode entfernt"
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr "Entfernen"
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr "Lagerartikel entfernen"
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr "Lagerartikel in Lagerort buchen"
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr "Einbuchen"
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr "Kein Barcode vorhanden"
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr "Lagerartikel bereits gescannt"
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr "Lagerartikel besteht bereits in diesem Lagerort"
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr "Lagerartikel hinzugefügt"
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr "Barcode entspricht keinem Lagerartikel"
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr "In Lagerorten buchen"
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr "Barcode entspricht keinem Lagerort"
@@ -7944,12 +7783,12 @@ msgid "Download BOM Template"
msgstr "Vorlage einer Stückliste herunterladen"
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr "Dateiformat auswählen"
@@ -8033,24 +7872,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr "Varianten erlaubt"
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr "Kein Lagerbestand verfügbar"
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr "Enthält Ersatzbestand"
@@ -8090,7 +7929,7 @@ msgstr "Stücklisten-Position bearbeiten"
msgid "Delete BOM Item"
msgstr "Stücklisten-Position löschen"
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr "Keine Stücklisten-Position(en) gefunden"
@@ -8098,7 +7937,7 @@ msgstr "Keine Stücklisten-Position(en) gefunden"
msgid "Are you sure you want to delete this BOM item?"
msgstr "Sind Sie sicher, dass Sie diese Stücklisten-Position löschen wollen?"
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr "benötigtes Teil"
@@ -8106,267 +7945,284 @@ msgstr "benötigtes Teil"
msgid "Inherited from parent BOM"
msgstr "Geerbt von übergeordneter Stückliste"
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr "Bauauftrag bearbeiten"
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr "Bauauftrag erstellen"
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Sind Sie sicher, dass sie diesen Bauauftrag abbrechen möchten?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr "Bauauftrag ist bereit abgeschlossen zu werden"
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr "Bauauftrag ist unvollständig"
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr "Bauauftrag fertigstellen"
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr "Nächste verfügbare Seriennummer"
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr "Letzte Seriennummer"
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "Die Stückliste enthält verfolgbare Teile"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr "Endprodukte müssen individuell angelegt werden"
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "Nachverfolgbare Teile können Seriennummern haben"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr "Seriennummeren für mehrere einzelne Endprodukte angeben"
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr "Endprodukt anlegen"
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr "Lagerartikel zu diesem Endprodukt zuweisen"
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr "Bestand von Endpordukt zurücknehmen"
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr "Endprodukt fertigstellen"
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr "Endprodukt entfernen"
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr "Sind Sie sicher, dass sie alle Lagerartikel von diesem Bauauftrag entfernen möchten?"
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr "Lagerartikel zurücknehmen"
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr "Endprodukte auswählen"
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr "Mindestens ein Endprodukt muss ausgewählt werden"
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr "Endprodukt"
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr "Endprodukte fertigstellen"
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr "Endprodukte entfernen"
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr "Keine Allokationen für Bauauftrag gefunden"
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr "Standort nicht angegeben"
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr "Keine aktiven Endprodukte gefunden"
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Bestands-Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr "Zuordnung bearbeiten"
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr "Zuordnung entfernen"
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr "Ersatzteile verfügbar"
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr "Anzahl pro"
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Zugeordnet"
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr "Bestand bauen"
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr "Bestand bestellen"
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr "Bestand zuweisen"
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Teile auswählen"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr "Sie müssen mindestens ein Teil auswählen"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr "Anzahl für Bestandszuordnung eingeben"
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr "Alle Teile zugeordnet"
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr "Alle ausgewählten Teile wurden vollständig zugeordnet"
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Wählen Sie den Quellort aus (leer lassen um von allen Standorten zu nehmen)"
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr "Lagerartikel für Bauauftrag zuweisen"
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr "Keine passenden Lagerstandorte"
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr "Keine passenden Lagerbestände"
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr "Automatische Lagerzuordnung"
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "Lagerartikel werden automatisch diesem Bauauftrag zugewiesen, entsprechend den angegebenen Richtlinien"
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr "Wenn ein Standort angegeben ist, wird der Lagerbestand nur von diesem Ort zugewiesen"
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr "Wenn der Lagerbestand als austauschbar gilt, wird er vom ersten Standort zugewiesen, an dem er gefunden wird"
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr "Wenn ein Ersatzbestand erlaubt ist, wird es dort verwendet, wo kein Vorrat des Primärteils gefunden werden kann"
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr "Lagerartikel zuordnen"
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr "Keine Bauaufträge passen zur Anfrage"
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "Auswählen"
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr "Bauauftrag ist überfällig"
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Keine Benutzerinformation"
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr "Keine Information"
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr "Keine Teile zugeordnet zu"
@@ -8386,7 +8242,7 @@ msgstr "Herstellerteil ändern"
msgid "Delete Manufacturer Part"
msgstr "Herstellerteil löschen"
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr "Zulieferer hinzufügen"
@@ -8500,61 +8356,61 @@ msgstr "Filter entfernen"
msgid "Create filter"
msgstr "Filter anlegen"
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr "Aktion verboten"
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr "Erstellvorgang nicht erlaubt"
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr "Updatevorgang nicht erlaubt"
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr "Löschvorgang nicht erlaubt"
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr "Anzeigevorgang nicht erlaubt"
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr "Dieses Formular offen lassen"
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr "Gib eine gültige Nummer ein"
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Fehler in Formular"
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr "Keine Ergebnisse gefunden"
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr "Suche"
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr "Eingabe leeren"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr "Dateispalte"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr "Feldname"
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr "Spalten auswählen"
@@ -8575,7 +8431,7 @@ msgid "Labels sent to printer"
msgstr "Label an den Drucker gesendet"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr "Lagerartikel auswählen"
@@ -8628,62 +8484,62 @@ msgstr "Lagerartikel ausgewählt"
msgid "Select Label Template"
msgstr "Label-Vorlage auswählen"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "Abbrechen"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Abschicken"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr "Formulartitel"
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr "Warte auf Server..."
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr "Fehler-Informationen anzeigen"
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr "Akzeptieren"
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr "Lade Daten"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr "ungültige Antwort vom Server"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr "Formulardaten fehlen bei Serverantwort"
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr "Formulardaten fehlerhaft"
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr "JSON Antwort enthält keine Formulardaten"
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr "Fehler 400: Ungültige Anfrage"
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr "Fehler 400 von Server erhalten"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr "Fehler bei Formulardaten-Anfrage"
@@ -8708,19 +8564,20 @@ msgstr "Bauauftrag-ID"
msgid "Order ID"
msgstr "Bestell-ID"
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr "Sendungs-ID"
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr "Kategorie-ID"
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr "Herstellerteil-ID"
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr "Zuliefererteil-ID"
@@ -8740,280 +8597,361 @@ msgstr "Keine ungelesenen Benachrichtigungen"
msgid "Notifications will load here"
msgstr "Benachrichtigungen erscheinen hier"
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr "Dieser Sendung wurden keine Artikel zugewiesen"
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr "Die folgenden Artikel werden verschickt"
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr "Sendung fertigstellen"
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr "Sendung bestätigen"
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr "Diese Bestellung als vollständig markieren?"
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr "Diese Bestellung enthält Positionen, die nicht als empfangen markiert wurden."
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr "Fertigstellen dieser Bestellung bedeutet, dass sie und ihre Positionen nicht länger bearbeitbar sind."
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr "Nachdem diese Bestellung plaziert ist können die Positionen nicht länger bearbeitbar ist."
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr "Abbruch dieser Bestellung bedeutet, dass sie nicht länger bearbeitbar ist."
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr "Sendung anlegen"
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr "Kunden hinzufügen"
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr "Auftrag anlegen"
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr "Bestellung exportieren"
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr "Positionen auswählen"
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr "Mindestens eine Position muss ausgewählt werden"
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr "Losnummer hinzufügen"
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr "Seriennummern hinzufügen"
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr "Status"
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr "Bestellnummer"
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr "Bestellt"
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr "Zu erhaltende Menge"
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr "Empfang der Teile bestätigen"
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr "Bestellpositionen erhalten"
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr "Keine Bestellungen gefunden"
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr "Bestellung überfällig"
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr "Positionen"
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr "Keine Positionen gefunden"
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr "Summe"
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr "Stück-Preis"
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr "Gesamtpreis"
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr "Diese Position ist überfällig"
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr "Position empfangen"
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr "Position duplizieren"
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr "Position bearbeiten"
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr "Position löschen"
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr "Keine Aufträge gefunden"
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr "Ungültiger Kunde"
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr "Sendung bearbeiten"
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr "Sendung fertigstellen"
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr "Sendung löschen"
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr "Sendung bearbeiten"
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr "Sendung löschen"
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr "Keine passenden Sendungen gefunden"
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr "Sendungsreferenz"
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr "Nicht versandt"
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr "Nachverfolgen"
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Bestandszuordnung bestätigen"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr "Artikel zu Kundenauftrag zuweisen"
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr "Keine Allokationen für Verkaufsaufträge gefunden"
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr "Bestandszuordnung bearbeiten"
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr "Löschvorgang bestätigen"
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr "Bestands-Zuordnung löschen"
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr "an Kunde versand"
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr "Lagerstandort nicht angegeben"
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr "Bestand kaufen"
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr "Preis berechnen"
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr "Kann nicht gelöscht werden, da Artikel versandt wurden"
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr "Kann nicht gelöscht werden, da Artikel zugewiesen sind"
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr "Seriennummern zuweisen"
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr "Stückpreis aktualisieren"
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr "Keine passenden Positionen gefunden"
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9097,6 +9035,10 @@ msgstr "Parameterdaten vom Originalteil kopieren"
msgid "Parent part category"
msgstr "Übergeordnete Teilkategorie"
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr "Teil-Kategorie bearbeiten"
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr "Teil bearbeiten"
@@ -9190,8 +9132,8 @@ msgstr "Nicht verfügbar"
msgid "No category"
msgstr "Keine Kategorie"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr "Listenansicht"
@@ -9199,75 +9141,75 @@ msgstr "Listenansicht"
msgid "Display as grid"
msgstr "Rasteransicht"
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr "Baumansicht"
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr "Abonnierte Kategorie"
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr "Pfad"
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr "Keine zur Anfrage passenden Testvorlagen"
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr "Dieses Testergebnis ist für ein Hauptteil"
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr "Testergebnis-Vorlage bearbeiten"
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr "Testergebnis-Vorlage löschen"
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr "Keine ${human_name} Informationen gefunden"
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "${human_name} bearbeiten"
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "${human_name} löschen"
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr "Aktueller Lagerbestand"
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr "Keine Zeitplanung für dieses Teil vorhanden"
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr "Geplante Lagermengen"
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr "Einzelpreis"
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr "Einzelpreisdifferenz"
@@ -9349,340 +9291,360 @@ msgstr "Ergebnisse minimieren"
msgid "Remove results"
msgstr "Ergebnisse entfernen"
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr "Lagerartikel serialisieren"
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr "Lager-Serialisierung bestätigen"
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr "Übergeordneter Lagerort"
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr "Lagerartikel-Ort bearbeiten"
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr "Neuer Lagerstandort"
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr "Dieser Teil kann nicht serialisiert werden"
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr "Ausgangsmenge für diesen Lagerartikel eingeben"
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Seriennummern für neue Lagerartikel eingeben (oder leer lassen)"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr "Lagerartikel dupliziert"
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr "Bestand duplizieren"
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr "Lagerartikel bearbeiten"
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr "Neuer Lagerartikel erstellt"
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr "Mehrere Lagerartikel erstellt"
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr "Seriennummer finden"
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr "Seriennummer eingeben"
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr "Eine Seriennummer eingeben"
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr "Keine passende Seriennummer"
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr "Mehrere Ergebnisse gefunden"
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr "Bestand Zuweisung bestätigen"
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr "Einem Kunden zuordnen"
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr "Achtung: Das Zusammenführen kann nicht rückgängig gemacht werden"
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr "Einige Informationen gehen verloren, wenn Artikel zusammengeführt werden"
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr "Lagerartikelverlauf wird für zusammengeführte Lagerartikel gelöscht"
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr "Lieferantenteil-Informationen werden für zusammengeführte Artikel gelöscht"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr "Zusammenführung der Artikel bestätigen"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr "Artikel zusammenführen"
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr "Bestand verschieben"
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr "Verschieben"
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr "Bestand zählen"
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr "Anzahl"
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr "Bestand entfernen"
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr "Entfernen"
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr "Bestand hinzufügen"
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr "Hinzufügen"
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr "Bestand löschen"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Menge von serialisiertem Bestand kann nicht bearbeitet werden"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr "Bestandsanzahl angeben"
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr "Sie müssen mindestens einen Lagerartikel auswählen"
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr "Bestands-Anpassung bestätigen"
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr "ERFOLGREICH"
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr "FEHLGESCHLAGEN"
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr "KEIN ERGEBNIS"
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr "Test bestanden"
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr "Testergebnis hinzufügen"
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr "Keine Testergebnisse gefunden"
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr "Testdatum"
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr "Testergebnis bearbeiten"
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr "Testergebnis löschen"
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr "In Arbeit"
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr "In Lagerartikel installiert"
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr "Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "Kein Lagerort gesetzt"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr "Lagerartikel wird produziert"
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr "Lagerartikel wurde Auftrag zugewiesen"
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr "Lagerartikel wurde Kunden zugewiesen"
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr "Lagerartikel ist abgelaufen"
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr "Lagerartikel läuft demnächst ab"
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr "Serialisierter Lagerartikel wurde zugewiesen"
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr "Lagerartikel wurde vollständig zugewiesen"
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr "Lagerartikel wurde teilweise zugewiesen"
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr "Lagerartikel in anderem Element verbaut"
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr "Lagerartikel abgewiesen"
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr "Lagerartikel verloren"
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr "Lagerartikel zerstört"
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr "gelöscht"
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr "Inventur"
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr "Zuliefererteil nicht angegeben"
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr "Keine zur Anfrage passenden Lagerartikel"
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr "Status setzen"
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr "Status Code setzen"
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr "Status Code muss ausgewählt werden"
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr "Artikelinformationen nicht verfügbar"
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr "Standort nicht mehr vorhanden"
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr "Bestellung existiert nicht mehr"
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr "Kunde existiert nicht mehr"
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr "Lagerartikel existiert nicht mehr"
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr "Hinzugefügt"
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr "Entfernt"
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr "Keine installierten Elemente"
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr "Lagerartikel entfernen"
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr "Einen weiteren Lagerartikel in dieses Teil installiert"
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Lagerartikel können nur installiert werden wenn folgende Kriterien erfüllt werden"
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "Der Lagerartikel ist auf ein Teil verknüpft das in der Stückliste für diesen Lagerartikel ist"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr "Dieser Lagerartikel ist aktuell vorhanden"
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "Der Lagerbestand wird entweder mit einem Batch-Code oder mit Seriennummer verfolgt"
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr "Teil zur Installation auswählen"
@@ -10200,35 +10162,35 @@ msgstr "Berechtigungen"
msgid "Important dates"
msgstr "wichtige Daten"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "Berechtigung geändert"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "Gruppe"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Ansicht"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Berechtigung Einträge anzuzeigen"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Berechtigung Einträge zu erstellen"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "Ändern"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Berechtigungen Einträge zu ändern"
-#: users/models.py:220
+#: users/models.py:221
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 ef8368c265..3a5ab98fc4 100644
--- a/InvenTree/locale/el/LC_MESSAGES/django.po
+++ b/InvenTree/locale/el/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Greek\n"
"Language: el_GR\n"
@@ -33,9 +33,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -249,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/en/LC_MESSAGES/django.po b/InvenTree/locale/en/LC_MESSAGES/django.po
index f096cd681e..a31afe3d98 100644
--- a/InvenTree/locale/en/LC_MESSAGES/django.po
+++ b/InvenTree/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
+"POT-Creation-Date: 2022-05-02 23:27+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/InvenTree/locale/es/LC_MESSAGES/django.po b/InvenTree/locale/es/LC_MESSAGES/django.po
index 933edb703b..117f4fbd19 100644
--- a/InvenTree/locale/es/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
@@ -33,9 +33,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -249,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/es_MX/LC_MESSAGES/django.po b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
index f096cd681e..a31afe3d98 100644
--- a/InvenTree/locale/es_MX/LC_MESSAGES/django.po
+++ b/InvenTree/locale/es_MX/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
+"POT-Creation-Date: 2022-05-02 23:27+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/InvenTree/locale/fa/LC_MESSAGES/django.po b/InvenTree/locale/fa/LC_MESSAGES/django.po
index 567141b708..ee83294783 100644
--- a/InvenTree/locale/fa/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fa/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Persian\n"
"Language: fa_IR\n"
@@ -33,9 +33,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "تایید"
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -249,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/fr/LC_MESSAGES/django.po b/InvenTree/locale/fr/LC_MESSAGES/django.po
index b86e2df4d9..30b493426e 100644
--- a/InvenTree/locale/fr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/fr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -33,9 +33,8 @@ msgstr "Aucune action correspondante trouvée"
msgid "Enter date"
msgstr "Entrer la date"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Confirmer"
@@ -84,8 +83,7 @@ msgstr "Vous devez taper le même e-mail à chaque fois."
msgid "Duplicate serial: {sn}"
msgstr "Dupliquer le numéro : {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Quantité fournie invalide"
@@ -96,7 +94,7 @@ msgstr "Chaîne de numéro de série vide"
#: InvenTree/helpers.py:491
#, python-brace-format
msgid "Invalid group range: {g}"
-msgstr ""
+msgstr "Plage de groupe invalide : {g}"
#: InvenTree/helpers.py:494
#, python-brace-format
@@ -106,7 +104,7 @@ msgstr "Groupe invalide : {g}"
#: InvenTree/helpers.py:522
#, python-brace-format
msgid "Invalid group sequence: {g}"
-msgstr ""
+msgstr "Séquence de groupe invalide : {g}"
#: InvenTree/helpers.py:530
#, python-brace-format
@@ -119,8 +117,8 @@ msgstr "Aucun numéro de série trouvé"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Le nombre de numéros de série uniques ({s}) doit correspondre à la quantité ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Pièce jointe"
msgid "Select file to attach"
msgstr "Sélectionnez un fichier à joindre"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Lien"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Lien vers une url externe"
@@ -160,12 +158,12 @@ msgstr "Commentaire"
msgid "File comment"
msgstr "Commentaire du fichier"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Utilisateur"
@@ -202,27 +200,27 @@ msgstr "Erreur lors du renommage du fichier"
msgid "Invalid choice"
msgstr "Choix invalide"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Nom"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,16 +228,16 @@ msgstr "Nom"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
-msgstr ""
+msgstr "Description"
#: InvenTree/models.py:350
msgid "Description (optional)"
@@ -247,9 +245,9 @@ msgstr "Description (facultative)"
#: InvenTree/models.py:358
msgid "parent"
-msgstr ""
+msgstr "parent"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Doit être un nombre valide"
@@ -313,7 +311,7 @@ msgstr "Allemand"
#: InvenTree/settings.py:674
msgid "Greek"
-msgstr ""
+msgstr "Grec"
#: InvenTree/settings.py:675
msgid "English"
@@ -321,7 +319,7 @@ msgstr "Anglais"
#: InvenTree/settings.py:676
msgid "Spanish"
-msgstr ""
+msgstr "Espagnol"
#: InvenTree/settings.py:677
msgid "Spanish (Mexican)"
@@ -329,7 +327,7 @@ msgstr "Espagnol (Mexique)"
#: InvenTree/settings.py:678
msgid "Farsi / Persian"
-msgstr ""
+msgstr "Farsi / Perse"
#: InvenTree/settings.py:679
msgid "French"
@@ -337,7 +335,7 @@ msgstr "Français"
#: InvenTree/settings.py:680
msgid "Hebrew"
-msgstr ""
+msgstr "Hébreu"
#: InvenTree/settings.py:681
msgid "Hungarian"
@@ -345,23 +343,23 @@ msgstr "Hongrois"
#: InvenTree/settings.py:682
msgid "Italian"
-msgstr ""
+msgstr "Italien"
#: InvenTree/settings.py:683
msgid "Japanese"
-msgstr ""
+msgstr "Japonais"
#: InvenTree/settings.py:684
msgid "Korean"
-msgstr ""
+msgstr "Coréen"
#: InvenTree/settings.py:685
msgid "Dutch"
-msgstr ""
+msgstr "Néerlandais"
#: InvenTree/settings.py:686
msgid "Norwegian"
-msgstr ""
+msgstr "Norvégien"
#: InvenTree/settings.py:687
msgid "Polish"
@@ -369,23 +367,23 @@ msgstr "Polonais"
#: InvenTree/settings.py:688
msgid "Portuguese"
-msgstr ""
+msgstr "Portugais"
#: InvenTree/settings.py:689
msgid "Portuguese (Brazilian)"
-msgstr ""
+msgstr "Portugais (Brésilien)"
#: InvenTree/settings.py:690
msgid "Russian"
-msgstr ""
+msgstr "Russe"
#: InvenTree/settings.py:691
msgid "Swedish"
-msgstr ""
+msgstr "Suédois"
#: InvenTree/settings.py:692
msgid "Thai"
-msgstr ""
+msgstr "Thaïlandais"
#: InvenTree/settings.py:693
msgid "Turkish"
@@ -393,11 +391,11 @@ msgstr "Turc"
#: InvenTree/settings.py:694
msgid "Vietnamese"
-msgstr ""
+msgstr "Vietnamien"
#: InvenTree/settings.py:695
msgid "Chinese"
-msgstr ""
+msgstr "Chinois"
#: InvenTree/status.py:110
msgid "Background worker check failed"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Placé"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Terminé"
@@ -441,14 +439,14 @@ msgstr "Perdu"
msgid "Returned"
msgstr "Retourné"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Expédié"
#: InvenTree/status_codes.py:183
msgid "OK"
-msgstr ""
+msgstr "OK"
#: InvenTree/status_codes.py:184
msgid "Attention needed"
@@ -522,13 +520,13 @@ msgstr "Séparer de l'élément parent"
msgid "Split child item"
msgstr "Fractionner l'élément enfant"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "Articles de stock fusionnés"
#: InvenTree/status_codes.py:300
msgid "Converted to variant"
-msgstr ""
+msgstr "Converti en variante"
#: InvenTree/status_codes.py:302 templates/js/translated/table_filters.js:213
msgid "Sent to customer"
@@ -658,14 +656,6 @@ msgstr "Le code-barres correspond déjà à l'objet Stock Item"
msgid "Barcode associated with Stock Item"
msgstr "Code-barres associé à l'article en stock"
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Confirmer l'annulation"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Confirmer l'annulation de la fabrication"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr "Choix invalide pour la fabrication parente"
@@ -673,7 +663,7 @@ msgstr "Choix invalide pour la fabrication parente"
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Ordre de Fabrication"
@@ -691,14 +681,14 @@ msgstr "Ordres de Fabrication"
msgid "Build Order Reference"
msgstr "Référence de l' Ordre de Fabrication"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Référence"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "BuildOrder associé a cette fabrication"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "BuildOrder associé a cette fabrication"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Pièce"
@@ -760,8 +749,8 @@ msgstr "Bon de commande de référence"
msgid "SalesOrder to which this build is allocated"
msgstr "Commande de vente à laquelle cette construction est allouée"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Emplacement d'origine"
@@ -801,8 +790,8 @@ msgstr "État de la construction"
msgid "Build status code"
msgstr "Code de statut de construction"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Code de lot"
@@ -810,12 +799,12 @@ msgstr "Code de lot"
msgid "Batch code for this build output"
msgstr "Code de lot pour ce build output"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Date de création"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Date d'achèvement cible"
@@ -823,8 +812,8 @@ msgstr "Date d'achèvement cible"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Date cible pour l'achèvement de la construction. La construction sera en retard après cette date."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Date d'achèvement"
@@ -832,7 +821,7 @@ msgstr "Date d'achèvement"
msgid "completed by"
msgstr "achevé par"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Émis par"
@@ -842,10 +831,10 @@ msgstr "Utilisateur ayant émis cette commande de construction"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Responsable"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Utilisateur responsable de cette commande de construction"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,103 +852,102 @@ msgstr "Lien Externe"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
-msgstr ""
+msgstr "Notes"
#: build/models.py:337
msgid "Extra build notes"
msgstr "Notes de construction supplémentaires"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "Pas d'ordre de production défini"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "L'ordre de production a déjà été réalisé"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "L'ordre de production de correspond pas à l'ordre de commande"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "L'élément de construction doit spécifier une sortie de construction, la pièce maîtresse étant marquée comme objet traçable"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})"
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "L'article de stock est suralloué"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "La quantité allouée doit être supérieure à zéro"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "La quantité doit être de 1 pour stock sérialisé"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "L'article du stock sélectionné n'a pas été trouvé dans la BOM"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Assemblage"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr "Construction à laquelle allouer des pièces"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Article en stock"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Stock d'origine de l'article"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Stock d'origine de l'article"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Quantité"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr "Quantité de stock à allouer à la construction"
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Installer dans"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Stock de destination de l'article"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr "Sortie d'assemblage"
@@ -1012,7 +999,7 @@ msgstr "L'ordre de production ne correspond pas à l'ordre parent"
#: build/serializers.py:154
msgid "Output part does not match BuildOrder part"
-msgstr ""
+msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction"
#: build/serializers.py:158
msgid "This build output has already been completed"
@@ -1026,9 +1013,10 @@ msgstr "Cet ordre de production n'est pas complètement attribué"
msgid "Enter quantity for build output"
msgstr "Entrer la quantité désiré pour la fabrication"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "La quantité doit être supérieure à zéro"
@@ -1040,10 +1028,9 @@ msgstr "Quantité entière requise pour les pièces à suivre"
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce"
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Numéros de série"
@@ -1059,7 +1046,7 @@ msgstr "Allouer automatiquement les numéros de série"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Affecter automatiquement les éléments requis avec les numéros de série correspondants"
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr "Le numéro de série suivant existe déjà"
@@ -1067,17 +1054,17 @@ msgstr "Le numéro de série suivant existe déjà"
msgid "A list of build outputs must be provided"
msgstr "Une liste d'ordre de production doit être fourni"
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Emplacement"
@@ -1086,122 +1073,138 @@ msgid "Location for completed build outputs"
msgstr "Emplacement des ordres de production achevés"
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "État"
#: build/serializers.py:389
msgid "Accept Incomplete Allocation"
-msgstr ""
+msgstr "Accepter l'allocation incomplète"
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
+msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué"
+
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr "Accepter les non-alloués"
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production"
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr "Le stock requis n'a pas encore été totalement alloué"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr "Accepter les incomplèts"
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés"
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr "La quantité nécessaire n'a pas encore été complétée"
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr "L'ordre de production a des sorties incomplètes"
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
-msgstr ""
+msgstr "Aucune sortie de construction n'a été créée pour cet ordre de construction"
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
-msgstr ""
+msgstr "Sortie d'assemblage"
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "L'article doit être en stock"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantité disponible ({q}) dépassée"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
-msgstr ""
+msgstr "Emplacements exclus"
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr "Modifier l'assemblage"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "Annuler l'assemblage"
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Le stock n'a pas été entièrement alloué à cet ordre de construction"
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Date Cible"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Terminé"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Commandes"
@@ -1322,19 +1324,15 @@ msgstr "Commandes"
msgid "Issued By"
msgstr "Émis par"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "Sorties incomplètes"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "L'ordre de fabrication ne peut pas être achevé car il reste des outputs en suspens"
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Êtes-vous sûr de vouloir annuler cette construction?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,10 +1349,10 @@ msgstr "Stock d'origine"
msgid "Stock can be taken from any available location."
msgstr "Le stock peut être pris à partir de n'importe quel endroit disponible."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
-msgstr ""
+msgstr "Destination"
#: build/templates/build/detail.html:56
msgid "Destination location not specified"
@@ -1366,19 +1364,19 @@ msgstr "Pièces allouées"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
-msgstr ""
+msgstr "Lot"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Créé le"
@@ -1388,7 +1386,7 @@ msgstr "Pas de date cible définie"
#: build/templates/build/detail.html:146
msgid "Build not complete"
-msgstr ""
+msgstr "Compilation incomplète"
#: build/templates/build/detail.html:157 build/templates/build/sidebar.html:17
msgid "Child Build Orders"
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "Désallouer le stock"
@@ -1428,8 +1426,8 @@ msgstr "Commander les pièces requises"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Commander des pièces"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "La construction a été annulée"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "Supprimer l'ordre de construction"
@@ -1598,856 +1592,848 @@ msgstr "{name.title()} Fichier"
msgid "Select {name} file to upload"
msgstr "Sélectionner le fichier {name} à uploader"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr "Valeur du paramètre"
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr "La valeur choisie n'est pas une option valide"
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "La valeur doit être une valeur booléenne"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr "La valeur doit être un nombre entier"
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr "La chaîne de caractères constituant la clé doit être unique"
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr "Pas de groupe"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Redémarrage nécessaire"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur"
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr "Chaîne de caractères descriptive pour l'instance serveur"
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr "Utiliser le nom de l'instance"
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr "Utiliser le nom de l’instance dans la barre de titre"
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Nom de la société"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Nom de société interne"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "URL de base"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "URL de base pour l'instance serveur"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Devise par défaut"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Devises par défaut"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Télécharger depuis l'URL"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Support des code-barres"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Activer le support du scanner de code-barres"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr "Regex IPN"
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce"
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Autoriser les IPN dupliqués"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Permettre à plusieurs pièces de partager le même IPN"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Autoriser l'édition de l'IPN"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr "Copier les données des paramètres de la pièce"
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce"
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr "Copier les données de test de la pièce"
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr "Copier les données de test par défaut lors de la duplication d'une pièce"
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr "Copier les templates de paramètres de catégorie"
-#: common/models.py:800
+#: common/models.py:887
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:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "Les pièces sont des templates par défaut"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr "Les composantes peuvent être assemblées à partir d'autres composants par défaut"
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Composant"
-#: common/models.py:821
+#: common/models.py:908
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:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Achetable"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Les pièces sont achetables par défaut"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Vendable"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Les pièces sont vendables par défaut"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Traçable"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Les pièces sont traçables par défaut"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuelle"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Les pièces sont virtuelles par défaut"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr "Afficher l'import dans les vues"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr "Afficher l'assistant d'importation pour certaine vues de produits"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Afficher le prix dans les formulaires"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr "Afficher le prix de la pièce dans certains formulaires"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr "Afficher le prix dans la BOM"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr "Inclure les informations de prix dans les tableaux de la BOM"
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr "Historique des prix"
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "Afficher les pièces connexes"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr "Afficher les pièces connexes à une pièce"
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr "Créer un stock initial"
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr "Créer le stock initial lors de la création d'une pièce"
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr "Prix internes"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr "Activer les prix internes pour les pièces"
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Taille de la page"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "Rapports de test"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "jours"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr "Valeur préfixe référence commande client"
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr "Préfixe des commandes d'achats"
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr "Valeur préfixe référence bon de commande"
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr "Activer les mots de passe oubliés"
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr "Activer les inscriptions"
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "Activer le SSO"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "Activer le SSO sur les pages de connexion"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "Email requis"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr "Saisie automatique des utilisateurs SSO"
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr "Courriel en double"
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr "Activer l'intégration de plugins"
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr "Activer l'intégration de plugin pour ajouter des apps"
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr "Clé du paramètre (doit être unique - insensible à la casse)"
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Afficher les dernières pièces"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr "Afficher les dernières modifications du stock"
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr "Format préféré pour l'affichage des dates"
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Prix"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr "Actif"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "E-mail"
@@ -2602,7 +2588,7 @@ msgstr "E-mail"
msgid "Contact email address"
msgstr "Adresse e-mail de contact"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr "Point de contact"
msgid "Link to external company information"
msgstr "Lien externe vers les informations de l'entreprise"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Cette entreprise fabrique-t-elle des pièces?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Devise"
@@ -2652,18 +2638,18 @@ msgstr "Devise"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr "Fabricant"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Sélectionner un fabricant"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Valeur"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Fournisseur"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "coût de base"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr "Commande multiple"
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Créer une commande d'achat"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Ajouter une nouvelle image"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Télécharger l'image depuis l'URL"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Commander des composants"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr "Nouvelle commande de vente"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr "Stock affecté"
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr "Liste des Fournisseurs"
msgid "Manufacturers"
msgstr "Fabricants"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "Pièces Internes"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Fournisseurs"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Supprimer les pièces du fournisseur"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Supprimer"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Paramètres"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "Nouveau paramètre"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr "Commander un composant"
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Information sur les prix"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr "Tarif"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Éléments en stock"
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr "Passer la commande"
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr "Marquer la commande comme complète"
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Annuler la commande"
-
#: order/models.py:130
msgid "Order description"
msgstr "Description de la commande"
@@ -3371,380 +3351,404 @@ msgstr ""
msgid "Order notes"
msgstr "Notes de commande"
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
-msgstr ""
+msgstr "Nom de l’expédition"
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr "expédié par"
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
-msgstr ""
+msgstr "La commande ne peut pas être terminée car aucune pièce n'a été assignée"
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
-msgstr ""
+msgstr "Seule une commande en attente peut être marquée comme terminée"
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
-msgstr ""
+msgstr "La commande ne peut pas être terminée car il y a des envois incomplets"
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr "Nombre d'élement"
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
-msgstr ""
+msgstr "Contexte"
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr "Commande"
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr "Commande d’achat"
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr "Pièce fournisseur"
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr "Reçu"
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr "Nombre d'éléments reçus"
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "Prix d'achat"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr "Prix de vente"
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr "Ligne"
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
-msgstr ""
+msgstr "Envoi"
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr "Article"
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
#: order/serializers.py:77
msgid "Price currency"
-msgstr ""
+msgstr "Devise *"
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr "La commande ne peut pas être annulée"
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr "La commande n'est pas ouverte"
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr "Devise du prix d'achat"
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
-msgstr ""
+msgstr "Entrez les numéros de série pour les articles de stock entrants"
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
-msgstr ""
+msgstr "Champ d'identifiant unique"
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr "Le code-barres est déjà utilisé"
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
-msgstr ""
+msgstr "Une quantité entière doit être fournie pour les pièces tracables"
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr "Entrez les numéros de série à allouer"
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr "Aucune correspondance trouvée pour les numéros de série suivants"
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr "Les numéros de série suivants sont déjà alloués"
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,17 +3768,30 @@ msgstr ""
msgid "Edit order"
msgstr "Modifier la commande"
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Annuler la commande"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr "Passer la commande"
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
-msgstr ""
+msgstr "Recevoir objet"
#: order/templates/order/order_base.html:58
#: order/templates/order/purchase_order_detail.html:30
msgid "Receive Items"
-msgstr ""
+msgstr "Réception d'articles"
+
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr "Marquer la commande comme complète"
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr "Finaliser la commande"
@@ -3793,51 +3810,35 @@ msgstr "Description de la commande"
msgid "Order Status"
msgstr "Statut de la commande"
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
-msgstr ""
+msgstr "Incomplet"
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Supprimer la ligne"
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr "Commande déjà traitée. Les fichiers ne peuvent pas être chargés."
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr "Articles de la commande d'achat"
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr "Notes de commande"
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr "Expéditions en attente"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "Annuler la commande"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr "La commande ne peut pas être annulée"
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr "Annuler la vente"
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr "Mettre à jour les prix"
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr "Prix introuvable"
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr "En Commande"
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Catégorie de composant"
@@ -4232,7 +4122,7 @@ msgstr "Catégories de composants"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Composantes"
@@ -4241,411 +4131,411 @@ msgstr "Composantes"
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr "Les prochains numéros de série disponibles sont"
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr "Le prochain numéro de série disponible est"
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr "Le numéro de série le plus récent est"
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr "IPN dupliqué non autorisé dans les paramètres de la pièce"
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Description du composant"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Catégorie"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr "Catégorie de la pièce"
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Révision"
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr "Ventes multiples"
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Nom de test"
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Requis"
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr "Données"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "ID de composant"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Surplus"
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr "Exporter"
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr "Composant créé avec succès"
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr "Calculer"
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr "Non du Plugin"
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr "Requis pour"
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Numéro de série"
@@ -5834,7 +5742,7 @@ msgstr "Résultat"
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr "Entrer des numéros de série uniques (ou laisser vide)"
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr "Numéros de série"
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr "Numéros de série uniques (doivent correspondre à la quantité)"
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Propriétaire"
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr "Entrez les numéros de série pour les nouveaux articles"
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce"
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Les numéros de série existent déjà"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Cet article de stock est sérialisé - il a un numéro de série unique et la quantité ne peut pas être ajustée."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr "Propriétaire requis (contrôle de propriété actif)"
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr "Cocher la case de confirmation"
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr "Aucune valeur définie"
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr "Paramètres de notification"
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr "Quantité requise"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr "Le serveur distant doit être accessible"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "L'image distante ne doit pas excéder la taille maximale autorisée de fichier"
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr "Aucune réponse"
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr "Aucune réponse du serveur InvenTree"
@@ -7755,27 +7594,27 @@ msgstr "Erreur 400: Mauvaise requête"
msgid "API request returned error code 400"
msgstr "La requête de l'API a retourné le code d'erreur 400"
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr "Erreur 401: non authentifié"
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr "Informations d’authentification non fournies"
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr "Erreur 403: Permission refusée"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr "Vous n'avez pas les autorisations requises pour accéder à cette fonction"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr "Erreur 404: Ressource introuvable"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr "La ressource demandée n'a pas pu être trouvée sur le serveur"
@@ -7787,11 +7626,11 @@ msgstr "Erreur 405: Méthode non autorisée"
msgid "HTTP method not allowed at URL"
msgstr "Méthode HTTP non autorisée à l'adresse URL"
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr "Erreur 408: Délai dépassé"
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr "Délai de connexion dépassé lors de la demande de données depuis le serveur"
@@ -7843,89 +7682,89 @@ msgstr "Saisir les données du code-barres"
msgid "Barcode"
msgstr "Code-barres"
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr "Saisir les notes optionnelles pour le transfert de stock"
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr "Saisir des notes"
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr "Erreur serveur"
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr "Réponse inconnue du serveur"
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr "Réponse du serveur invalide"
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr "Scanner les données du code-barres ci-dessous"
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr "Scanner le code-barres"
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr "Aucune URL dans la réponse"
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr "Lier le code-barres à l'article de stock"
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr "Ceci supprimera l'association entre cet article de stock et le code-barres"
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr "Délier"
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr "Supprimer l'article de stock"
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr "Vérifier les articles de stock dans l'emplacement"
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr "Article de stock déjà scanné"
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr "Article de stock déjà à cet emplacement"
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr "Article de stock ajouté"
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr "Le code-barres ne correspond pas à l'article de stock"
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr "Vérifier dans l'emplacement"
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr "Le code-barres ne correspond pas à un emplacement valide"
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr "Télécharger le template de la BOM"
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr "Sélectionner un format de fichier"
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Êtes-vous sûr de vouloir annuler cette construction?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr "Prochain numéro de série disponible"
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr "Dernier numéro de série"
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "La BOM contient des pièces traçables"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "Les pièces traçables peuvent avoir des numéros de série spécifiés"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr "Commander des stocks"
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Pas d'informations sur l'utilisateur"
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "Annuler"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr "ID de commande"
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr "Référence de commande"
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr "Commandé"
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr "Commande en retard"
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr "Livré au client"
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr "Acheter du stock"
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr "Calculer le prix"
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr "Allouer des numéros de série"
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr "Modifier la pièce"
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr "Aucune catégorie"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr "Afficher sous forme de liste"
@@ -9197,75 +9139,75 @@ msgstr "Afficher sous forme de liste"
msgid "Display as grid"
msgstr "Afficher sous forme de grille"
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr "Afficher sous forme d'arborescence"
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr "Chemin d'accès"
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr "Modifier le résultat du test"
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr "Supprimer le résultat du test"
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Entrez les numéros de série pour le nouveau stock (ou laisser vide)"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr "Trouver un numéro de série"
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr "Entrer le numéro de série"
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr "Entrer un numéro de série"
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr "Aucun numéro de série correspondant"
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr "Plus d'un résultat correspondant trouvé"
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr "Confirmer l'assignation de stock"
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr "Assigner le stock au client"
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr "Attention : l'opération de fusion est irréversible"
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr "Certaines informations seront perdues lors de la fusion des articles en stock"
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr "L'historique des transactions de stock sera supprimé pour les éléments fusionnés"
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr "Les informations sur la pièce du fournisseur seront supprimées pour les éléments fusionnés"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr "Confirmer la fusion de l'article en stock"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr "Fusionner les articles en stock"
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr "Transférer le stock"
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr "Transférer"
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr "Compter le stock"
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr "Compter"
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr "Supprimer du stock"
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr "Supprimer"
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr "Ajouter du stock"
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr "Ajouter"
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr "Supprimer le stock"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "La quantité ne peut pas être ajustée pour un stock sérialisé"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr "Spécifiez la quantité du stock"
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr "Vous devez sélectionner au moins un article en stock disponible"
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr "RÉUSSI"
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr "ÉCHEC"
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr "AUCUN RÉSULTAT"
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr "Ajouter un résultat de test"
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr "Aucun résultat de test trouvé"
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr "Date du test"
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr "En production"
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr "Article en stock installé dans un autre article en stock"
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr "Assigné à une commande de vente"
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "Aucun emplacement de stock défini"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr "L'article de stock est en production"
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr "L'article en stock a été assigné à une commande de vente"
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr "L'article en stock a été assigné à un client"
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr "L'article en stock a expiré"
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr "L'article en stock va bientôt expirer"
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr "L'article de stock sérialisé a été alloué"
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr "L'article de stock a été complètement alloué"
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr "L'article de stock a été partiellement alloué"
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr "L'article en stock a été installé dans un autre article"
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr "L'article de stock a été rejeté"
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr "L'article de stock est perdu"
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr "L'article de stock est détruit"
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr "Epuisé"
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr "Prise d'inventaire"
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr "Pièce de fournisseur non précisée"
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr "Aucun article de stock ne correspond à la requête"
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr "Définir l'état du stock"
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr "Sélectionner le code de statut"
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr "Le code de statut doit être sélectionné"
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr "Détails"
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr "L'emplacement n'existe plus"
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr "La commande d'achat n'existe plus"
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr "Le client n'existe plus"
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr "L'article de stock n'existe plus"
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr "Ajouté"
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr "Supprimé"
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr "Droits"
msgid "Important dates"
msgstr "Dates importantes"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "Droit défini"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "Groupe"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Vue"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Droit de voir des éléments"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Droit d'ajouter des éléments"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "Modifier"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Droit de modifier des élément"
-#: users/models.py:220
+#: users/models.py:221
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 5813c5838e..87dada44f7 100644
--- a/InvenTree/locale/he/LC_MESSAGES/django.po
+++ b/InvenTree/locale/he/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
@@ -33,9 +33,8 @@ msgstr "פעולה מבוקשת לא נמצאה"
msgid "Enter date"
msgstr "הזן תאריך סיום"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "אשר"
@@ -84,8 +83,7 @@ msgstr "חובה לרשום את אותו אימייל בכל פעם."
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,8 +117,8 @@ msgstr "מספרים סידוריים לא נמצאו"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "כמות המספרים הסידוריים ({s}) מוכרים להיות תואמים לכמות ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "קובץ מצורף"
msgid "Select file to attach"
msgstr "בחר קובץ לצירוף"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "קישור"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "קישור חיצוני"
@@ -160,12 +158,12 @@ msgstr "הערה"
msgid "File comment"
msgstr "הערת קובץ"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "משתמש"
@@ -202,27 +200,27 @@ msgstr "שגיאה בשינוי שם פריט"
msgid "Invalid choice"
msgstr "בחירה שגויה"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "שם"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "שם"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "תיאור"
@@ -249,7 +247,7 @@ msgstr "תיאור (לא חובה)"
msgid "parent"
msgstr "מקור"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "המספר חייב להיות תקין"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "מוקם"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "הושלם"
@@ -441,8 +439,8 @@ msgstr "אבד"
msgid "Returned"
msgstr "הוחזר"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "נשלח"
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "מקט"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "רכיב"
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "כמות"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "מספרים סידוריים"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/hu/LC_MESSAGES/django.po b/InvenTree/locale/hu/LC_MESSAGES/django.po
index 4efcf1a6b9..8c5816c4cb 100644
--- a/InvenTree/locale/hu/LC_MESSAGES/django.po
+++ b/InvenTree/locale/hu/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
@@ -33,9 +33,8 @@ msgstr "Nincs egyező művelet"
msgid "Enter date"
msgstr "Dátum megadása"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Megerősítés"
@@ -84,8 +83,7 @@ msgstr "Mindig ugyanazt az email címet kell beírni."
msgid "Duplicate serial: {sn}"
msgstr "Duplikált sorozatszám: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Nem megfelelő mennyiség"
@@ -96,7 +94,7 @@ msgstr "Üres sorozatszám"
#: InvenTree/helpers.py:491
#, python-brace-format
msgid "Invalid group range: {g}"
-msgstr ""
+msgstr "Érvénytelen csoport tartomány: {g}"
#: InvenTree/helpers.py:494
#, python-brace-format
@@ -106,7 +104,7 @@ msgstr "Érvénytelen csoport: {g}"
#: InvenTree/helpers.py:522
#, python-brace-format
msgid "Invalid group sequence: {g}"
-msgstr ""
+msgstr "Érvénytelen csoport szekvencia: {g}"
#: InvenTree/helpers.py:530
#, python-brace-format
@@ -119,8 +117,8 @@ msgstr "Nem található sorozatszám"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Az egyedi sorozatszámok száma ({s}) meg kell egyezzen a mennyiséggel ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr "A megadott számú egyedi sorozatszám ({s}) meg kell egyezzen a darabszámmal ({q})"
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Melléklet"
msgid "Select file to attach"
msgstr "Válaszd ki a mellekelni kívánt fájlt"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
-msgstr ""
+msgstr "Link"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Link külső URL-re"
@@ -160,12 +158,12 @@ msgstr "Megjegyzés"
msgid "File comment"
msgstr "Leírás, bővebb infó"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Felhasználó"
@@ -202,27 +200,27 @@ msgstr "Hiba a fájl átnevezésekor"
msgid "Invalid choice"
msgstr "Érvénytelen választás"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Név"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Név"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Leírás"
@@ -249,7 +247,7 @@ msgstr "Leírás (opcionális)"
msgid "parent"
msgstr "szülő"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Érvényes számnak kell lennie"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Kiküldve"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Kész"
@@ -441,8 +439,8 @@ msgstr "Elveszett"
msgid "Returned"
msgstr "Visszaküldve"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Kiszállítva"
@@ -522,7 +520,7 @@ msgstr "Szülő tételből szétválasztva"
msgid "Split child item"
msgstr "Szétválasztott gyermek tétel"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "Összevont készlet tétel"
@@ -658,14 +656,6 @@ msgstr "Vonalkód hash már egyezik a készlet tétellel"
msgid "Barcode associated with Stock Item"
msgstr "Készlet tételhez tartozó vonalkód"
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Megszakítás megerősítése"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Gyártás megszakításának megerősítése"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr "Hibás választás a szülő gyártásra"
@@ -673,7 +663,7 @@ msgstr "Hibás választás a szülő gyártásra"
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Gyártási utasítás"
@@ -691,14 +681,14 @@ msgstr "Gyártási utasítások"
msgid "Build Order Reference"
msgstr "Gyártási utasítás azonosító"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Azonosító"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "Gyártás, amihez ez a gyártás hozzá van rendelve"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Alkatrész"
@@ -760,8 +749,8 @@ msgstr "Vevői rendelés azonosító"
msgid "SalesOrder to which this build is allocated"
msgstr "Vevői rendelés amihez ez a gyártás hozzá van rendelve"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Forrás hely"
@@ -801,8 +790,8 @@ msgstr "Gyártási állapot"
msgid "Build status code"
msgstr "Gyártás státusz kód"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Batch kód"
@@ -810,12 +799,12 @@ msgstr "Batch kód"
msgid "Batch code for this build output"
msgstr "Batch kód a gyártás kimenetéhez"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Létrehozás dátuma"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Befejezés cél dátuma"
@@ -823,8 +812,8 @@ msgstr "Befejezés cél dátuma"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Cél dátum a gyártás befejezéséhez. Ez után késettnek számít majd."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Elkészítés dátuma"
@@ -832,7 +821,7 @@ msgstr "Elkészítés dátuma"
msgid "completed by"
msgstr "elkészítette"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Kiállította"
@@ -842,10 +831,10 @@ msgstr "Felhasználó aki ezt a gyártási utasítást kiállította"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Felelős"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Felhasználó aki felelős ezért a gyártási utasításért"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Külső link"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Megjegyzések"
@@ -885,81 +874,80 @@ msgstr "Megjegyzések"
msgid "Extra build notes"
msgstr "Extra gyártási megjegyzések"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "Nincs gyártási kimenet megadva"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "Gyártási kimenet már kész"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "Gyártási kimenet nem egyezik a gyártási utasítással"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Gyártási tételnek meg kell adnia a gyártási kimenetet, mivel a fő darab egyedi követésre kötelezett"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
-msgstr "Lefoglalt mennyiség ({q}) nem lépheti túl a készletet ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})"
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "Készlet túlfoglalva"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "Kiválasztott készlet tétel nem található az alkatrészjegyzékben"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Gyártás"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr "Gyártás amihez készletet foglaljunk"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Készlet tétel"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Forrás készlet tétel"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Forrás készlet tétel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Mennyiség"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz"
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Beépítés ebbe"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Cél készlet tétel"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr "Gyártás kimenet"
@@ -1026,9 +1013,10 @@ msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva"
msgid "Enter quantity for build output"
msgstr "Add meg a mennyiséget a gyártás kimenetéhez"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Mennyiségnek nullánál többnek kell lennie"
@@ -1040,10 +1028,9 @@ msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz"
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Sorozatszámok"
@@ -1059,7 +1046,7 @@ msgstr "Sorozatszámok automatikus hozzárendelése"
msgid "Automatically allocate required items with matching serial numbers"
msgstr "Szükséges tételek automatikus hozzárendelése a megfelelő sorozatszámokkal"
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr "A következő sorozatszámok már léteznek"
@@ -1067,17 +1054,17 @@ msgstr "A következő sorozatszámok már léteznek"
msgid "A list of build outputs must be provided"
msgstr "A gyártási kimenetek listáját meg kell adni"
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Hely"
@@ -1086,122 +1073,139 @@ msgid "Location for completed build outputs"
msgstr "A kész gyártási kimenetek helye"
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "Állapot"
#: build/serializers.py:389
msgid "Accept Incomplete Allocation"
-msgstr ""
+msgstr "Hiányos foglalás elfogadása"
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
+msgstr "Kimenetek befejezése akkor is ha a készlet nem\n"
+"lett teljesen lefoglalva"
+
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr "Kiosztatlanok elfogadása"
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz"
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr "A szükséges készlet nem lett teljesen lefoglalva"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr "Befejezetlenek elfogadása"
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve"
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr "Szükséges gyártási mennyiség nem lett elérve"
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz"
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr "Ehhez a gyártási utasításhoz nem készült kimenet"
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr "Alkatrészjegyzék tétel"
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr "Gyártás kimenet"
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia"
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr "bom_item.part ugyanarra az alkatrészre kell mutasson mint a gyártási utasítás"
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "A tételnek kell legyen készlete"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Rendelkezésre álló mennyiség ({q}) túllépve"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához"
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához"
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
-msgstr ""
+msgstr "Ez a készlet tétel már le lett foglalva ehhez a gyártási kimenethez"
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr "A lefoglalandó tételeket meg kell adni"
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)"
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr "Hely kizárása"
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr "Készlet tételek kizárása erről a kiválasztott helyről"
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr "Felcserélhető készlet"
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható"
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr "Készlet helyettesítés"
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr "Helyettesítő alkatrészek foglalásának engedélyezése"
@@ -1228,7 +1232,6 @@ msgid "Edit Build"
msgstr "Gyártás szerkesztése"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "Gyártás megszakítása"
@@ -1272,13 +1275,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "A készlet nem lett teljesen lefoglalva ehhez a gyártási utasításhoz"
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Cél dátum"
@@ -1305,14 +1308,14 @@ msgid "Completed"
msgstr "Kész"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Vevői rendelés"
@@ -1322,19 +1325,15 @@ msgstr "Vevői rendelés"
msgid "Issued By"
msgstr "Kiállította"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "Befejezetlen kimenetek"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Gyártási utasítás nem teljesíthető mivel befejezetlen kimenetek maradnak"
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Biztosan meg szeretnéd szakítani ezt a gyártást?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr "Biztosan törölni szeretnéd ezt a gyártási utasítást?"
@@ -1351,8 +1350,8 @@ msgstr "Készlet forrás"
msgid "Stock can be taken from any available location."
msgstr "Készlet bármely rendelkezésre álló helyről felhasználható."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Cél"
@@ -1366,19 +1365,19 @@ msgstr "Lefoglalt alkatrészek"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
-msgstr ""
+msgstr "Batch"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Létrehozva"
@@ -1398,7 +1397,7 @@ msgstr "Alárendelt gyártások"
msgid "Allocate Stock to Build"
msgstr "Készlet foglalása gyártáshoz"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "Készlet felszabadítása"
@@ -1428,8 +1427,8 @@ msgstr "Szükséges alkatrészek rendelése"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Alkatrész rendelés"
@@ -1493,11 +1492,11 @@ msgstr "Címke nyomtatása"
#: build/templates/build/detail.html:274
msgid "Expand all build output rows"
-msgstr ""
+msgstr "Összes gyártási kimenet sor kinyitása"
#: build/templates/build/detail.html:278
msgid "Collapse all build output rows"
-msgstr ""
+msgstr "Összes gyártási kimenet sor összezárása"
#: build/templates/build/detail.html:295
msgid "Completed Build Outputs"
@@ -1553,11 +1552,7 @@ msgstr "Gyártási utasítás részletei"
msgid "Completed Outputs"
msgstr "Befejezett kimenetek"
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "Gyártás megszakítva"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "Gyártási utasítás törlése"
@@ -1598,856 +1593,848 @@ msgstr "{name.title()} Fájl"
msgid "Select {name} file to upload"
msgstr "{name} fájl kiválasztása feltöltéshez"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny)"
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr "Beállítás értéke"
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr "A kiválasztott érték nem egy érvényes lehetőség"
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "Az érték bináris kell legyen"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr "Az érték egész szám kell legyen"
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr "Kulcs string egyedi kell legyen"
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr "Nincs csoport"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Újraindítás szükséges"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli"
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
-msgstr ""
+msgstr "Kiszolgáló példány neve"
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr "String leíró a kiszolgáló példányhoz"
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr "Példány név használata"
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr "Példány név használata a címsorban"
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
-msgstr ""
+msgstr "Verzió infók megjelenítésének tiltása"
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
-msgstr ""
+msgstr "Verzió infók megjelenítése csak admin felhasználóknak"
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Cég neve"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Belső cégnév"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "Kiindulási URL"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "Kiindulási URL a kiszolgáló példányhoz"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Alapértelmezett pénznem"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Alapértelmezett pénznem"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Letöltés URL-ről"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Vonalkód támogatás"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Vonalkód olvasó engedélyezése"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr "IPN reguláris kifejezés"
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re"
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Többször is előforduló IPN engedélyezése"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Azonos IPN használható legyen több alkatrész esetén is"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "IPN szerkesztésének engedélyezése"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr "Alkatrészjegyzék adatok másolása"
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból"
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr "Alkatrész paraméterek másolása"
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból"
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr "Alkatrész teszt adatok másolása"
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból"
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr "Kategória paraméter sablonok másolása"
-#: common/models.py:800
+#: common/models.py:887
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:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Sablon"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "Alkatrészek alapból sablon alkatrészek legyenek"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Gyártmány"
-#: common/models.py:814
+#: common/models.py:901
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:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Összetevő"
-#: common/models.py:821
+#: common/models.py:908
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:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Beszerezhető"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Alkatrészek alapból beszerezhetők legyenek"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Értékesíthető"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Alkatrészek alapból eladhatók legyenek"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Követésre kötelezett"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Alkatrészek alapból követésre kötelezettek legyenek"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuális"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Alkatrészek alapból virtuálisak legyenek"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr "Importálás megjelenítése a nézetekben"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr "Import segéd megjelenítése néhány alkatrész nézetben"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Ár megjelenítése a formokon"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr "Alkatrész árak megjelenítése néhány formon"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr "Ár megjelenítése az alkatrészjegyzékben"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr "Árinformációk megjelenítése az alkatrészjegyzék táblákban"
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr "Ártörténet megjelenítése"
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr "Alkatrész ártörténet megjelenítése"
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "Kapcsolódó alkatrészek megjelenítése"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése"
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr "Kezdeti készlet létrehozása"
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr "Kezdeti készlet megadása az alkatrész létrehozásakor"
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr "Belső árak"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr "Alkatrészekhez belső ár engedélyezése"
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr "Belső ár alkatrészjegyzék árként"
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Belső ár használata (ha van) az alkatrészjegyzék árszámításában"
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr "Alkatrész név megjelenítés formátuma"
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr "Formátum az alkatrész név megjelenítéséhez"
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr "Riportok engedélyezése"
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr "Riportok előállításának engedélyezése"
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Debug mód"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr "Riportok előállítása HTML formátumban (hibakereséshez)"
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Lapméret"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "Alapértelmezett lapméret a PDF riportokhoz"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "Teszt riportok"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr "Teszt riportok előállításának engedélyezése"
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr "Batch kód sablon"
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához"
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr "Készlet lejárata"
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr "Készlet lejárat kezelésének engedélyezése"
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr "Lejárt készlet értékesítése"
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr "Lejárt készlet értékesítésének engedélyezése"
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr "Álló készlet ideje"
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük"
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "nap"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr "Lejárt készlet gyártása"
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr "Gyártás engedélyezése lejárt készletből"
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr "Készlet tulajdonosok kezelése"
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr "Tuajdonosok kezelésének engedélyezése a készlet helyekre és tételekre"
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr "Gyártási utasítás azonosító előtagja"
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr "Előtag értéke a gyártási utasítás azonosítóhoz"
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr "Gyártási utasítás azonosító reguláris kifejezés"
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr "Gyártási utasítás azonosítóra illeszkedő reguláris kifejezés"
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr "Vevői rendelés azonosító előtagja"
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr "Előtag értéke a vevői rendelés azonosítóhoz"
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr "Beszerzési rendelés azonosító előtagja"
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr "Előtag értéke a beszerzési rendelés azonosítóhoz"
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr "Elfelejtett jelszó engedélyezése"
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon"
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr "Regisztráció engedélyezése"
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon"
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "SSO engedélyezése"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "SSO engedélyezése a bejelentkező oldalon"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "Email szükséges"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr "Kötelező email megadás regisztrációkor"
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr "SSO felhasználók automatikus kitöltése"
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból"
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr "Email kétszer"
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét"
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr "Jelszó kétszer"
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát"
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr "Csoport regisztráláskor"
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr "Csoport amihez a frissen regisztrált felhasználók hozzá lesznek rendelve"
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr "Többfaktoros hitelesítés kényszerítése"
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk."
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr "Pluginok ellenőrzése indításkor"
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)"
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr "URL integráció engedélyezése"
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr "Navigációs integráció engedélyezése"
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr "Navigációs integráció engedélyezése a pluginok számára"
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr "App integráció engedélyezése"
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr "App hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr "Ütemezés integráció engedélyezése"
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára"
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr "Esemény integráció engedélyezése"
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára"
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr "Beállítások kulcs (egyedinek kell lennie, nem kis- nagybetű érzékeny"
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr "Értesítésre beállított alkatrészek megjelenítése"
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr "Alkatrész értesítések megjelenítése a főoldalon"
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr "Értesítésre beállított kategóriák megjelenítése"
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr "Alkatrész kategória értesítések megjelenítése a főoldalon"
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Legújabb alkatrészek megjelenítése"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "Legújabb alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr "Legfrissebb alkatrész szám"
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr "Főoldalon megjelenítendő legújabb alkatrészek"
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr "Jóváhagyás nélküli alkatrészjegyzékek megjelenítése"
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr "Jóváhagyásra váró alkatrészjegyzékek megjelenítése a főoldalon"
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr "Legfrissebb készlet változások megjelenítése"
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr "Legutóbb megváltozott alkatrészek megjelenítése a főoldalon"
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr "Legfrissebb készlet mennyiség"
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr "Főoldalon megjelenítendő legújabb készlet tételek száma"
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr "Alacsony készlet megjelenítése"
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr "Alacsony készletek megjelenítése a főoldalon"
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr "Kimerült készlet megjelenítése"
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr "Kimerült készletek megjelenítése a főoldalon"
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
-msgstr "Szükséges készlet megjelenítése"
+msgstr "Gyártáshoz szükséges készlet megjelenítése"
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr "Gyártáshoz szükséges készletek megjelenítése a főoldalon"
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr "Lejárt készlet megjelenítése"
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr "Lejárt készletek megjelenítése a főoldalon"
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr "Állott készlet megjelenítése"
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr "Álló készletek megjelenítése a főoldalon"
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr "Függő gyártások megjelenítése"
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr "Folyamatban lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr "Késésben lévő gyártások megjelenítése"
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr "Késésben lévő gyártások megjelenítése a főoldalon"
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr "Kintlévő beszerzési rendelések"
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr "Kintlévő beszerzési rendelések megjelenítése a főoldalon"
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr "Késésben lévő megrendelések megjelenítése"
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr "Késésben lévő megrendelések megjelenítése a főoldalon"
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr "Függő vevői rendelések megjelenítése"
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr "Kintlévő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr "Késésben lévő vevői rendelések megjelenítése"
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr "Késésben lévő vevői rendelések megjelenítése a főoldalon"
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr "Email értesítések engedélyezése"
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr "Email küldés engedélyezése esemény értesítésekre"
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr "Címke nyomtatás engedélyezése"
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr "Címke nyomtatás engedélyezése a web felületről"
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr "Beágyazott címke megjelenítés"
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "PDF címkék megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr "Beágyazott riport megjelenítés"
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "PDF riport megjelenítése a böngészőben letöltés helyett"
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr "Alkatrészek keresése"
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr "Alkatrészek megjelenítése a keresési előnézetben"
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr "Kategóriák keresése"
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr "Alkatrész kategóriák megjelenítése a keresési előnézetben"
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr "Készlet keresése"
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr "Készlet tételek megjelenítése a keresési előnézetben"
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr "Helyek keresése"
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr "Készlet helyek megjelenítése a keresési előnézetben"
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr "Cégek keresése"
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr "Cégek megjelenítése a keresési előnézetben"
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr "Beszerzési rendelések keresése"
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr "Beszerzési rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr "Vevői rendelések keresése"
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr "Vevői rendelések megjelenítése a keresési előnézetben"
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr "Keresési előnézet eredményei"
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr "A keresési előnézetben megjelenítendő eredmények száma szekciónként"
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr "Inaktív alkatrészek elrejtése"
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr "Inaktív alkatrészek elrejtése a kereső előnézeti ablakban"
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr "Mennyiség megjelenítése a formokon"
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr "Rendelkezésre álló alkatrész mennyiség megjelenítése néhány formon"
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr "ESC billentyű zárja be a formot"
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr "ESC billentyű használata a modális formok bezárásához"
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr "Rögzített menüsor"
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
-msgstr ""
+msgstr "A menü pozíciója mindig rögzítve a lap tetején"
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr "Dátum formátum"
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr "Preferált dátum formátum a dátumok kijelzésekor"
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr "Alkatrész ütemezés"
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr "Alkatrész ütemezési információk megjelenítése"
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr "Árlépcső mennyiség"
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Ár"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr "Egységár egy meghatározott mennyiség esetén"
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr "Végpont"
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr "Végpont ahol ez a webhook érkezik"
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr "Webhook neve"
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2442,77 @@ msgstr "Webhook neve"
msgid "Active"
msgstr "Aktív"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr "Aktív-e ez a webhook"
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
-msgstr ""
+msgstr "Token"
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr "Token a hozzáféréshez"
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr "Titok"
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr "Megosztott titok a HMAC-hoz"
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr "Üzenet azonosító"
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr "Egyedi azonosító ehhez az üzenethez"
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr "Kiszolgáló"
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr "Kiszolgáló ahonnan ez az üzenet érkezett"
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr "Fejléc"
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr "Üzenet fejléce"
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr "Törzs"
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr "Üzenet törzse"
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr "Végpont amin ez az üzenet érkezett"
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr "Dolgozott rajta"
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr "Befejeződött a munka ezzel az üzenettel?"
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Fájl feltöltése"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2553,7 +2540,7 @@ msgstr "Előző lépés"
#: company/forms.py:24 part/forms.py:46
#: templates/InvenTree/settings/mixins/urls.html:14
msgid "URL"
-msgstr ""
+msgstr "URL"
#: company/forms.py:25 part/forms.py:47
msgid "Image URL"
@@ -2567,7 +2554,7 @@ msgstr "Cég leírása"
msgid "Description of the company"
msgstr "A cég leírása"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2564,7 @@ msgstr "Weboldal"
msgid "Company website URL"
msgstr "Cég weboldala"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Cím"
@@ -2593,16 +2580,16 @@ msgstr "Telefonszám"
msgid "Contact phone number"
msgstr "Kapcsolattartó telefonszáma"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
-msgstr ""
+msgstr "Email"
#: company/models.py:125
msgid "Contact email address"
msgstr "Kapcsolattartó email címe"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kapcsolattartó"
@@ -2614,7 +2601,7 @@ msgstr "Kapcsolattartó"
msgid "Link to external company information"
msgstr "Link a külső céginformációhoz"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Kép"
@@ -2643,7 +2630,7 @@ msgid "Does this company manufacture parts?"
msgstr "Gyárt ez a cég alkatrészeket?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Pénznem"
@@ -2652,18 +2639,18 @@ msgstr "Pénznem"
msgid "Default currency used for this company"
msgstr "Cég által használt alapértelmezett pénznem"
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Kiindulási alkatrész"
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "Válassz alkatrészt"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2659,138 @@ msgstr "Válassz alkatrészt"
msgid "Manufacturer"
msgstr "Gyártó"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Gyártó kiválasztása"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
-msgstr ""
+msgstr "MPN"
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Gyártói cikkszám"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr "URL link a gyártói alkatrészhez"
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr "Gyártói alkatrész leírása"
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "Gyártói alkatrész"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr "Paraméter neve"
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Érték"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "Paraméter értéke"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Mértékegységek"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr "Paraméter mértékegység"
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia"
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Beszállító"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Beszállító kiválasztása"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
-msgstr ""
+msgstr "SKU"
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr "Beszállítói cikkszám"
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr "Gyártói alkatrész kiválasztása"
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr "URL link a beszállítói alkatrészhez"
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr "Beszállítói alkatrész leírása"
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Megjegyzés"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "alap költség"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimális díj (pl. tárolási díj)"
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Csomagolás"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr "Alkatrész csomagolás"
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr "többszörös"
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr "Többszörös rendelés"
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr "utoljára módosítva"
@@ -2823,61 +2809,61 @@ msgid "Company"
msgstr "Cég"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Beszerzési rendelés létrehozása"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr "Cég műveletek"
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr "Cég adatainak szerkesztése"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "Cég szerkesztése"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr "Cég törlése"
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "Cég törlése"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Új kép feltöltése"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Kép letöltése URL-ről"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Vevő"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "Alapértelmezett pénznemet használja"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "Telefonszám"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "Kép feltöltése"
@@ -2889,20 +2875,19 @@ msgid "Supplier Parts"
msgstr "Beszállítói alkatrészek"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Új beszállítói alkatrész létrehozása"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Új beszállítói alkatrész"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2895,7 @@ msgstr "Opciók"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Alkatrész rendelés"
@@ -2988,7 +2973,7 @@ msgid "New Sales Order"
msgstr "Új vevői rendelés"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr "Hozzárendelt készlet"
@@ -2997,13 +2982,13 @@ msgid "Company Notes"
msgstr "Cég megjegyzések"
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "Töröljük a beszállítói alkatrészeket?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "Az összes kiválasztott beszállítói alkatrész törölve lesz"
@@ -3018,77 +3003,81 @@ msgstr "Beszállítók listája"
msgid "Manufacturers"
msgstr "Gyártók"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "Alkatrész rendelés"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "Gyártói alkatrész szerkesztése"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "Gyártói alkatrész törlése"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "Belső alkatrész"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Beszállítók"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Beszállítói alkatrész törlése"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Törlés"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Paraméterek"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "Új paraméter"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr "Paraméterek törlése"
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr "Paraméter hozzáadása"
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr "A kiválasztott paraméterek törlésre kerülnek"
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr "Paraméterek törlése"
@@ -3110,8 +3099,9 @@ msgstr "Hozzárendelt készlet tételek"
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr "Beszállítói alkatrész"
@@ -3125,66 +3115,70 @@ msgstr "Beszállítói alkatrész szerkesztése"
msgid "Delete supplier part"
msgstr "Beszállítói alkatrész törlése"
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Beszállítói készlet"
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr "Új készlet tétel létrehozása"
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr "Új készlet tétel"
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Beszállítói alkatrész rendelések"
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr "Alkatrész rendelése"
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Árinformációk"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr "Árlépcső hozzáadása"
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr "Nincs árlépcső információ"
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr "Árlépcső törlése"
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr "Árlépcső szerkesztése"
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr "Árlépcső szerkesztése"
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr "Árlépcső törlése"
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr "Utoljára módosítva"
@@ -3196,7 +3190,7 @@ msgstr "Utoljára módosítva"
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Készlet"
@@ -3216,14 +3210,14 @@ msgid "Pricing"
msgstr "Árazás"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Készlet tételek"
@@ -3338,19 +3332,6 @@ 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/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr "Rendelés leadása"
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr "Rendelés teljesítettnek jelölése"
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Rendelés törlése"
-
#: order/models.py:130
msgid "Order description"
msgstr "Rendelés leírása"
@@ -3371,380 +3352,404 @@ msgstr "Felhasználó vagy csoport aki felelőse ennek a rendelésnek"
msgid "Order notes"
msgstr "Rendelés jegyzetek"
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr "Rendelés azonosító"
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr "Beszerzési rendelés állapota"
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr "Cég akitől a tételek beszerzésre kerülnek"
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr "Beszállítói azonosító"
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr "Beszállítói rendelés azonosító kód"
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr "érkeztette"
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr "Kiállítás dátuma"
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr "Kiállítás dátuma"
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr "Várható beérkezés"
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Várt teljesítési dátuma a megrendelésnek. Ezután már késésben lévőnek számít majd."
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr "Rendelés teljesítési dátuma"
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr "Az alkatrész beszállítója meg kell egyezzen a beszerzési rendelés beszállítójával"
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr "Mennyiség pozitív kell legyen"
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr "Cég akinek a tételek értékesítésre kerülnek"
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr "Vevői azonosító "
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr "Megrendelés azonosító kódja a vevőnél"
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr "Cél dátum a rendelés teljesítéséhez. Ez után számít majd késettnek."
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr "Kiszállítás dátuma"
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr "szállította"
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr "A rendelés nem teljesíthető mivel nincs hozzárendelve alkatrész"
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr "Csak függő rendelés jelölhető késznek"
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr "A rendelés nem jelölhető késznek mivel nem teljesített szállítások vannak"
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr "A rendelés nem jelölhető késznek mivel nem teljesített sortételek vannak"
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr "Tétel mennyiség"
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr "Sortétel azonosító"
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr "Sortétel megjegyzései"
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr "Cél szállítási dátuma ennek a sortételnek"
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
-msgstr ""
+msgstr "Kontextus"
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
-msgstr ""
+msgstr "További kontextus ehhez a sorhoz"
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
-msgstr ""
+msgstr "Egységár"
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr "Beszállítói alkatrésznek egyeznie kell a beszállítóval"
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr "Rendelés"
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr "Beszerzési rendelés"
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr "Beszállítói alkatrész"
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr "Beérkezett"
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr "Érkezett tételek száma"
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "Beszerzési ár"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr "Beszerzési egységár"
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Mit szeretne a vevő hol tároljuk ezt az alkatrészt?"
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr "Eladási ár"
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr "Eladási egységár"
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr "Szállított mennyiség"
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr "Szállítás dátuma"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr "Ellenőrizte"
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt"
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr "Szállítmány száma"
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr "Szállítás megjegyzései"
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr "Nyomkövetési szám"
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr "Szállítmány nyomkövetési információ"
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr "Szállítmány már elküldve"
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr "Szállítmány nem tartalmaz foglalt készlet tételeket"
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr "Készlet tétel nincs hozzárendelve"
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr "Nem foglalható készlet egy másik fajta alkatrész sortételéhez"
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr "Nem foglalható készlet egy olyan sorhoz amiben nincs alkatrész"
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét"
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr "Készlet tétel túlfoglalva"
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen"
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr "Vevői rendelés nem egyezik a szállítással"
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr "Szállítás nem egyezik a vevői rendeléssel"
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr "Sor"
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr "Szállítmány"
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr "Vevői rendelés szállítás azonosító"
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr "Tétel"
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr "Válaszd ki a foglalásra szánt készlet tételt"
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
#: order/serializers.py:77
msgid "Price currency"
-msgstr ""
+msgstr "Pénznem"
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr "A rendelést nem lehet törölni"
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr "A rendelés nem nyitott"
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr "Beszérzési ár pénzneme"
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr "Beszállítói alkatrészt meg kell adni"
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr "Beszerzési rendelést meg kell adni"
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel"
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval"
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr "Sortétel"
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr "Sortétel nem egyezik a beszerzési megrendeléssel"
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr "Válassz cél helyet a beérkezett tételeknek"
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr "Írd be a batch kódját a beérkezett tételeknek"
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr "Írd be a sorozatszámokat a beérkezett tételekhez"
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr "Vonalkód hash"
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr "Egyedi azonosító mező"
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr "Ez a vonalkód már használva van"
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél"
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr "Sortételt meg kell adni"
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr "A cél helyet kötelező megadni"
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr "Megadott vonalkódoknak egyedieknek kel lenniük"
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr "Eladási ár pénzneme"
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr "Nincsenek szállítmány részletek megadva"
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr "Mennyiség pozitív kell legyen"
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr "Írd be a sorozatszámokat a kiosztáshoz"
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr "Szállítmány kiszállítva"
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr "Szállítás nincs hozzárendelve ehhez a rendeléshez"
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr "Nincs találat a következő sorozatszámokra"
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr "A következő sorozatszámok már ki lettek osztva"
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr "Biztos törölni akarod ezt a mellékletet?"
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr "Beszerzési rendelés nyomtatása"
@@ -3764,6 +3769,15 @@ msgstr "Rendelés műveletek"
msgid "Edit order"
msgstr "Rendelés szerkesztése"
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Rendelés törlése"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr "Rendelés leadása"
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr "Érkezett tételek bevételezése"
@@ -3773,8 +3787,12 @@ msgstr "Érkezett tételek bevételezése"
msgid "Receive Items"
msgstr "Bevételezés"
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr "Rendelés teljesítettnek jelölése"
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr "Rendelés befejezése"
@@ -3793,51 +3811,35 @@ msgstr "Rendelés leírása"
msgid "Order Status"
msgstr "Rendelés állapota"
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr "Kész sortételek"
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr "Hiányos"
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr "Kiküldve"
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
-msgstr ""
+msgstr "Teljes költség"
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr "Beszerzési rendelés szerkesztése"
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr "A rendelés törlésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők."
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr "Rendelés befejezettnek jelölése?"
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be."
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők."
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr "A beszerzési rendelés kiküldése után annak sortételei a továbbiakban már nem lesznek szerkeszthetők."
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3866,11 @@ msgstr "Beszállítói alkatrész kiválasztása"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Sor törlése"
@@ -3884,64 +3887,6 @@ msgstr "Fájl feltöltése a beszerzési megrendeléshez"
msgid "Order is already processed. Files cannot be uploaded."
msgstr "A rendelést már feldolgozták. Így már nem lehet fájlokat feltölteni."
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr "Lépés 1/2 - Alkatrész beszállítók kiválasztása"
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr "Beszállítók kiválasztása"
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr "Nincs kiválasztva beszerezhető alkatrész"
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "Beszállító kiválasztása"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr "Nincs ár"
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr "Beszállító kiválasztása %(name)s-hez"
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr "Alkatrész eltávolítása"
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr "Lépés 2/2 - Beszerzési rendelések kiválasztása"
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr "Válassz létező beszerzési rendelést vagy készíts újakat."
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr "Tételek"
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr "Beszerzési rendelés kiválasztása"
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr "Új beszerzési rendelés létrehozása %(name)s-hez"
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr "Beszerzési rendelés kiválasztása %(name)s-hez"
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3903,7 @@ msgid "Purchase Order Items"
msgstr "Beszerzési rendelés tételei"
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3971,13 +3916,13 @@ msgstr "Kiválasztott tételek bevételezése"
#: order/templates/order/purchase_order_detail.html:48
#: order/templates/order/sales_order_detail.html:40
msgid "Extra Lines"
-msgstr ""
+msgstr "Egyéb tételek"
#: order/templates/order/purchase_order_detail.html:53
#: order/templates/order/sales_order_detail.html:45
#: order/templates/order/sales_order_detail.html:273
msgid "Add Extra Line"
-msgstr ""
+msgstr "Egyéb tétel hozzáadása"
#: order/templates/order/purchase_order_detail.html:72
msgid "Received Items"
@@ -3988,9 +3933,9 @@ msgstr "Érkezett tételek"
msgid "Order Notes"
msgstr "Rendelés megjegyzések"
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
-msgstr ""
+msgstr "Sortétel hozzáadása"
#: order/templates/order/purchase_orders.html:30
#: order/templates/order/sales_orders.html:33
@@ -4006,7 +3951,7 @@ msgid "Print packing list"
msgstr "Csomagolási lista nyomtatása"
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr "Vevői rendelés befejezése, minden kiszállítva"
@@ -4015,7 +3960,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr "Ehhez a vevői rendeléshez nincs minden alkatrész lefoglalva"
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr "Vevői azonosító"
@@ -4029,15 +3974,6 @@ msgstr "Kész szállítások"
msgid "Edit Sales Order"
msgstr "Vevői rendelés szerkesztése"
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "Figyelem"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők."
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr "Vevői rendelés tételek"
@@ -4048,7 +3984,7 @@ msgid "Pending Shipments"
msgstr "Függő szállítmányok"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr "Műveletek"
@@ -4056,69 +3992,24 @@ msgstr "Műveletek"
msgid "New Shipment"
msgstr "Új szállítmány"
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "Rendelés törlése"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr "Rendelés törlésének megerősítése"
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr "A rendelést nem lehet törölni"
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr "Vevő megrendelés törlése"
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr "Rendelés kiadása"
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr "Rendelés kiadás megerősítése"
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr "Beszerzési rendelés kiadva"
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr "Rendelés teljesítésének megerősítése"
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr "Beszerzési rendelés kész"
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr "Beszállítói alkatrészek egyeztetése"
-#: order/views.py:489
-msgid "Update prices"
-msgstr "Árak frissítése"
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr "{n} alkatrész megrendelve"
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr "Vevő rendelés nem találhtó"
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr "Nem található ár"
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr "A {part} egységára {price}-ra módosítva"
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr "A {part} alkatrész módosított egységára {price} mennyisége pedig {qty}"
@@ -4167,7 +4058,7 @@ msgstr "Hely megadása a kezdeti alkarész készlethez"
msgid "This field is required"
msgstr "Ez a mező kötelező"
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Alapértelmezett hely"
@@ -4191,15 +4082,15 @@ msgstr "Rendelve"
msgid "Select part category"
msgstr "Alkatrész kategória kiválasztása"
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr "Paraméter sablon hozzáadása az azonos szintű kategóriákhoz"
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr "Paraméter sablon hozzáadása az összes kategóriához"
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr "Add meg a mennyiséget az árszámításhoz"
@@ -4215,7 +4106,7 @@ msgstr "Alapértelmezett kulcsszavak"
msgid "Default keywords for parts in this category"
msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban"
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Alkatrész kategória"
@@ -4232,7 +4123,7 @@ msgstr "Alkatrész kategóriák"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Alkatrészek"
@@ -4241,411 +4132,411 @@ msgstr "Alkatrészek"
msgid "Invalid choice for parent part"
msgstr "Hibás választás a szülő alkatrészre"
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "A '{p1}' alkatrész a '{p2}' alkatrészjegyzékében már szerepel (rekurzív)"
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr "A következő szabad sorozatszámok"
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr "A következő szabad sorozatszám"
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr "A legutóbbi sorozatszám"
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr "Azonos IPN nem engedélyezett az alkatrész beállításokban"
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "Alkatrész neve"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr "Sablon-e"
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr "Ez egy sablon alkatrész?"
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr "Ez az alkatrész egy másik változata?"
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr "Ebből a sablonból"
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Alkatrész leírása"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Kulcsszavak"
-#: part/models.py:847
+#: part/models.py:842
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:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Kategória"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr "Alkatrész kategória"
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
-msgstr ""
+msgstr "IPN"
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr "Belső cikkszám"
-#: part/models.py:867
+#: part/models.py:862
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:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Változat"
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr "Alapban hol tároljuk ezt az alkatrészt?"
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Alapértelmezett beszállító"
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr "Alapértelmezett beszállítói alkatrész"
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr "Alapértelmezett lejárat"
-#: part/models.py:946
+#: part/models.py:941
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:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimális készlet"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr "Minimálisan megengedett készlet mennyiség"
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr "Az alkatrész raktározási mértékegységei"
-#: part/models.py:965
+#: part/models.py:960
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:971
+#: part/models.py:966
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:977
+#: part/models.py:972
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:982
+#: part/models.py:977
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:987
+#: part/models.py:982
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:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr "Aktív-e ez az alkatrész?"
-#: part/models.py:997
+#: part/models.py:992
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:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr "Alkatrész megjegyzései - támogatja a Markdown formázást"
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr "Alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr "Tárolt alkatrészjegyzék ellenőrző összeg"
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr "Alkatrészjegyzéket ellenőrizte"
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr "Alkatrészjegyzék ellenőrzési dátuma"
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr "Létrehozó"
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr "Több értékesítése"
-#: part/models.py:2442
+#: part/models.py:2437
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:2459
+#: part/models.py:2454
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:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Teszt név"
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr "Add meg a teszt nevét"
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr "Teszt leírása"
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr "Adj hozzá egy leírást ehhez a teszthez"
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Kötelező"
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr "Szükséges-e hogy ez a teszt sikeres legyen?"
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr "Kötelező érték"
-#: part/models.py:2498
+#: part/models.py:2493
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:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr "Kötelező melléklet"
-#: part/models.py:2504
+#: part/models.py:2499
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:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr "Érvénytelen karakter ({c}) a sablon nevében"
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr "A paraméter sablon nevének egyedinek kell lennie"
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr "Paraméter neve"
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr "Paraméter mértékegysége"
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr "Szülő alkatrész"
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr "Paraméter sablon"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr "Adat"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr "Paraméter értéke"
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr "Alapértelmezett érték"
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr "Alapértelmezett paraméter érték"
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr "Alkatrész ID vagy alkatrész név"
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Alkatrész ID"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr "Egyedi alkatrész ID értéke"
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr "Alkatrész neve"
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr "Alkatrész IPN"
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr "Alkatrész IPN érték"
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr "Szint"
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr "Alkatrészjegyzék szint"
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr "Szülő alkatrész kiválasztása"
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr "Al alkatrész"
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr "Válaszd ki az alkatrészjegyzékben használandó alkatrészt"
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr "Alkatrészjegyzék mennyiség ehhez az alkatrészjegyzék tételhez"
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr "Opcionális"
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr "Ez az alkatrészjegyzék tétel opcionális"
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr "Többlet"
-#: part/models.py:2799
+#: part/models.py:2794
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:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr "Alkatrészjegyzék tétel azonosító"
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr "Alkatrészjegyzék tétel megjegyzései"
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr "Ellenőrző összeg"
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr "Alkatrészjegyzék sor ellenőrző összeg"
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "Örökölt"
-#: part/models.py:2812
+#: part/models.py:2807
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:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Változatok"
-#: part/models.py:2818
+#: part/models.py:2813
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:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
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:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr "Al alkatrészt kötelező megadni"
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr "Alkatrészjegyzék tétel helyettesítő"
-#: part/models.py:3048
+#: part/models.py:3043
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:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr "Szülő alkatrészjegyzék tétel"
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr "Helyettesítő alkatrész"
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr "1.rész"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr "2.rész"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr "Válassz kapcsolódó alkatrészt"
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr "Hiba a kapcsolat létrehozása közben: ellenőrizd hogy az alkatrész nem kapcsolódik-e saját magához és azt hogy a kapcsolat egyedi"
@@ -4805,7 +4696,7 @@ msgstr "Kategória elérési út"
msgid "Top level part category"
msgstr "Legfelső szintű alkatrész kategória"
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Alkategóriák"
@@ -4826,39 +4717,31 @@ msgstr "Új alkatrész"
msgid "Set category"
msgstr "Kategória beállítása"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "Kategória beállítása"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr "Címkék nyomtatása"
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr "Exportálás"
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr "Adatok exportálása"
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr "Alkatrész paraméterek"
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr "Alkatrész kategória létrehozása"
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr "Alkatrész létrehozása"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr "Új alkatrész létrehozása ez után"
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr "Alkatrész sikeresen létrehozva"
@@ -5046,26 +4929,26 @@ msgstr "Kapcsolódó alkatrész"
msgid "Add Related Part"
msgstr "Kapcsolódó alkatrész hozzáadása"
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr "Teszt eredmény sablon hozzáadása"
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr "Beszerzési egységár - %(currency)s"
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr "Egységár-önköltség különbség - %(currency)s"
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr "Beszállítói egység költség - %(currency)s"
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr "Egységár - %(currency)s"
@@ -5216,7 +5099,7 @@ msgid "Inactive"
msgstr "Inaktív"
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr "Alkatrész részletei"
@@ -5225,7 +5108,7 @@ msgstr "Alkatrész részletei"
msgid "This part is a variant of %(link)s"
msgstr "Ez az alkatrész egy változata a %(link)s alkatrésznek"
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr "Készleten"
@@ -5269,7 +5152,7 @@ msgstr "Számítás"
msgid "No matching images found"
msgstr "Nincs egyező kép"
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr "Részletek elrejtése"
@@ -5382,7 +5265,7 @@ msgstr "Ennek az alkatrésznek %(count)s gyártója van. Ha törlöd a következ
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr "Ennek az alkatrésznek %(count)s beszállítója van. Ha törlöd a következő beszállítói alkatrészek is törölve lesznek:"
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr "Összesen %(count)s követésre kötelezett '%(full_name)s' alkatrész van. Ha törlöd, a követési információk véglegesen elvesznek."
@@ -5457,6 +5340,10 @@ msgstr "Az alkatrészhez nem áll rendelkezésre eladási ártörténet."
msgid "Set category for the following parts"
msgstr "Állítsd be a következő alkatrészek kategóriáját"
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr "Alkatrész eltávolítása"
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5519,7 +5406,7 @@ msgstr "Ismeretlen adatbázis"
#: part/templatetags/inventree_extras.py:228
#, python-brace-format
msgid "{title} v{version}"
-msgstr ""
+msgstr "{title} v{version}"
#: part/views.py:86
msgid "Set Part Category"
@@ -5578,27 +5465,23 @@ msgstr "Alkatrész paraméter sablon módosítása"
msgid "Delete Part Parameter Template"
msgstr "Alkatrész paraméter sablon törlése"
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr "Alkatrész kategória szerkesztése"
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr "Alkatrész kategória törlése"
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr "Alkatrész kategória törölve"
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr "Kategória paraméter sablon létrehozása"
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr "Kategória paraméter sablon szerkesztése"
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr "Kategória paraméter sablon törlése"
@@ -5606,7 +5489,25 @@ msgstr "Kategória paraméter sablon törlése"
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr "A környezeted egy elavult git verziót használ. Ez megakadályozza hogy az InvenTree betöltse a plugin részleteit."
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr "Email értesítések engedélyezése"
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr "Email küldés engedélyezése esemény értesítésekre"
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr "Címkenyomtatás sikertelen"
@@ -5618,32 +5519,36 @@ msgstr "Nincs szerző"
msgid "No date found"
msgstr "Nincs dátum"
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr "Plugin beállítás"
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr "Plugin beállítások"
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr "Kulcs"
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr "Plugin kulcsa"
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr "PluginNeve a pluginnak"
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr "Aktív-e a plugin"
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
+msgstr "Plugin"
+
+#: plugin/models.py:176
+msgid "Method"
msgstr ""
#: plugin/samples/integration/sample.py:42
@@ -5713,7 +5618,7 @@ msgstr "Vagy csomag nevet vagy URL-t meg kell adni"
#: report/api.py:235 report/api.py:282
#, python-brace-format
msgid "Template file '{template}' is missing or does not exist"
-msgstr ""
+msgstr "A '{template}' sablon fájl hiányzik vagy nem érhető el"
#: report/models.py:178
msgid "Template name"
@@ -5789,7 +5694,7 @@ msgstr "Részlet fájl leírása"
#: report/models.py:590
msgid "Asset"
-msgstr ""
+msgstr "Eszköz"
#: report/models.py:591
msgid "Report asset file"
@@ -5803,17 +5708,21 @@ msgstr "Asset fájl leírása"
msgid "Required For"
msgstr "Szükséges ehhez"
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr "Készlet tétel teszt riport"
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Sorozatszám"
@@ -5834,7 +5743,7 @@ msgstr "Eredmény"
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr "Dátum"
@@ -5852,67 +5761,25 @@ msgid "Installed Items"
msgstr "Beépített tételek"
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr "Sorozatszám"
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr "Mennyiség megadása kötelező"
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr "Egy érvényes alkatrészt meg kell adni"
-#: stock/api.py:577
+#: stock/api.py:578
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/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr "Lejárati dátum"
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr "Készlet tétel lejárati dátuma"
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr "Egyedi sorozatszámok megadása (vagy hagyd üresen)"
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr "Követésre kötelezett alkatrész cél helye (alapban a mostani helyén marad)"
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr "Sorozatszámok"
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr "Az egyedi sorozatszámok (számuk meg kell egyezzen a mennyiséggel)"
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr "Tranzakció megjegyzés hozzáadása (opcionális)"
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr "Cél hely a kiszedett tételeknek"
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr "Kiszedés megerősítése"
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr "Beépített készlet tételek eltávolításának megerősítése"
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Tulajdonos"
@@ -6014,6 +5881,11 @@ msgstr "Beszerzés ehhez a készlet tételhez"
msgid "Destination Sales Order"
msgstr "Cél vevői rendelés"
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr "Lejárati dátum"
+
#: stock/models.py:718
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"
@@ -6088,7 +5960,7 @@ msgstr "Készlet tétel gyártás alatt"
msgid "Serialized stock cannot be merged"
msgstr "Követésre kötelezett készlet nem vonható össze"
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr "Duplikált készlet tételek vannak"
@@ -6157,7 +6029,7 @@ msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})"
msgid "Enter serial numbers for new items"
msgstr "Írd be a sorozatszámokat az új tételekhez"
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr "Cél készlet hely"
@@ -6169,7 +6041,7 @@ msgstr "Opcionális megjegyzés mező"
msgid "Serial numbers cannot be assigned to this part"
msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez"
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "A sorozatszámok már léteznek"
@@ -6185,63 +6057,71 @@ msgstr "Készlet tétel nem elérhető"
msgid "Selected part is not in the Bill of Materials"
msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben"
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr "Tranzakció megjegyzés hozzáadása (opcionális)"
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr "Az alkatrésznek értékesíthetőnek kell lennie"
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr "A tétel egy vevő rendeléshez foglalt"
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr "A tétel egy gyártási utasításhoz foglalt"
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr "Vevő akihez rendeljük a készlet tételeket"
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr "A kiválasztott cég nem egy vevő"
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr "Készlet hozzárendelés megjegyzései"
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr "A készlet tételek listáját meg kell adni"
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr "Készlet összevonás megjegyzései"
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr "Nem egyező beszállítók megengedése"
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése"
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr "Nem egyező állapotok megjelenítése"
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr "Különböző állapotú készletek összevonásának engedélyezése"
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr "Legalább két készlet tételt meg kell adni"
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr "Készlet tétel elsődleges kulcs értéke"
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr "Készlet tranzakció megjegyzései"
@@ -6282,17 +6162,17 @@ msgstr "Teszt adatok hozzáadása"
msgid "Installed Stock Items"
msgstr "Beépített készlet tételek"
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr "Készlet tétel beépítése"
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr "Teszt eredmény hozzáadása"
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr "Vonalkód leválasztása"
@@ -6302,7 +6182,7 @@ msgstr "Vonalkód hozzárendelése"
#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21
msgid "Scan to Location"
-msgstr "Beolvasás helyre"
+msgstr "Áthelyezés kódolvasással"
#: stock/templates/stock/item_base.html:54
msgid "Printing actions"
@@ -6411,7 +6291,7 @@ msgid "Stale"
msgstr "Állott"
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr "Utoljára módosítva"
@@ -6448,7 +6328,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Ez a készlet tétel egyedi követésre kötelezett - egyedi sorozatszámmal rendelkezik így a mennyiség nem módosítható."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr "Nincs beállítva hely"
@@ -6464,20 +6344,20 @@ msgstr "Szülő tétel"
msgid "No manufacturer set"
msgstr "Nincs beállítva gyártó"
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr "Tesztek"
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr "Úgytűnik nem vagy ennek a tételnek a tulajdonosa. Ezt így nem tudod módosítani."
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr "Csak olvasható"
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr "Készlet állapot szerkesztése"
@@ -6598,11 +6478,7 @@ msgstr "Foglalások"
msgid "Child Items"
msgstr "Gyermek tételek"
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr "A következő készlet tételek ki lesznek szedve"
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr "Készlet tétel konvertálása"
@@ -6615,6 +6491,10 @@ msgstr "Ez a készlet tétel jelenleg a %(part)s egyik példánya"
msgid "It can be converted to one of the part variants listed below."
msgstr "Átalakítható a lentebbi változatok egyikére."
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "Figyelem"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr "Ez a művelet nem vonható vissza könnyen"
@@ -6623,95 +6503,55 @@ msgstr "Ez a művelet nem vonható vissza könnyen"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr "Biztosan törölni akarod ezt a készlettörténeti bejegyzést?"
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr "Készlet hely szerkesztése"
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr "Tulajdonos szükséges (tulajdonosok kezelése engedélyezve van)"
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr "Készlet hely QR kódja"
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr "Visszavétel készletre"
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr "Adj meg egy érvényes helyet"
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr "Készlet tétel vevőtől visszahozva"
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr "Minden teszt adat törlése"
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr "Teszt adat törlésének megerősítése"
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr "Klikkeld be a megerősítő mezőt"
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr "Készlet tétel QR kódja"
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr "Készlet tétel kiszedése"
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr "Készlet módosítás jóváhagyása"
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr "Kiszedett készlet tételek"
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr "Készlet tétel szerkesztése"
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "Új készlet hely létrehozása"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr "Új készlet tétel létrehozása"
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr "Készlet tétel másolása"
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr "A mennyiség nem lehet negatív"
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr "Készlethely törlése"
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr "Készlet tétel törlése"
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr "Készlettörténet bejegyzés törlése"
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr "Készlettörténet bejegyzés szerkesztése"
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr "Készlettörténet bejegyzés hozzáadása"
@@ -6738,7 +6578,7 @@ msgstr "Belső kiszolgáló hiba"
#: templates/500.html:15
#, python-format
msgid "The %(inventree_title)s server raised an internal error"
-msgstr ""
+msgstr "A(z) %(inventree_title)s kiszolgáló belső hibát jelzett"
#: templates/500.html:16
msgid "Refer to the error log in the admin interface for further details"
@@ -6754,7 +6594,7 @@ msgstr "Az oldal jelenleg karbantartás alatt van, hamarosan újra használható
#: templates/InvenTree/index.html:7
msgid "Index"
-msgstr ""
+msgstr "Index"
#: templates/InvenTree/index.html:88
msgid "Subscribed Parts"
@@ -6846,7 +6686,7 @@ msgid "Notifications"
msgstr "Értesítések"
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr "Azonosító"
@@ -6973,7 +6813,7 @@ msgstr "Plugin beállítások"
#: templates/InvenTree/settings/plugin.html:16
msgid "Changing the settings below require you to immediatly restart the server. Do not change this while under active usage."
-msgstr ""
+msgstr "Az alábbi beállítások módosításához a kiszolgáló azonnali újraindítása szükséges. Aktív használat közben ne változtass ezeken."
#: templates/InvenTree/settings/plugin.html:34
msgid "Plugins"
@@ -6987,7 +6827,7 @@ msgstr "Plugin Telepítése"
#: templates/InvenTree/settings/plugin.html:48 templates/navbar.html:137
#: users/models.py:39
msgid "Admin"
-msgstr ""
+msgstr "Admin"
#: templates/InvenTree/settings/plugin.html:50
#: templates/InvenTree/settings/plugin_settings.html:28
@@ -7050,7 +6890,7 @@ msgstr "Ez a plugin csomagként lett telepítve"
#: templates/InvenTree/settings/plugin_settings.html:88
msgid "This plugin was found in a local server path"
-msgstr ""
+msgstr "Ez a plugin a lokális kiszolgáló útvonalon található"
#: templates/InvenTree/settings/plugin_settings.html:94
msgid "Installation path"
@@ -7091,41 +6931,41 @@ msgstr "Beszerzési rendelés beállításai"
msgid "Report Settings"
msgstr "Riport beállítások"
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr "Nincsenek értékek"
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr "Beállítások módosítása"
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr "Plugin beállítások módosítása"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr "Általános beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr "Felhasználói beállítások szerkesztése"
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "Nincs kategória paraméter sablon"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr "Sablon szerkesztése"
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr "Sablon törlése"
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr "Nincs alkatrész paraméter sablon"
@@ -7282,7 +7122,7 @@ msgstr "Ezek a faktorok állnak rendelkezésre:"
#: templates/InvenTree/settings/user.html:187
msgid "TOTP"
-msgstr ""
+msgstr "TOTP"
#: templates/InvenTree/settings/user.html:193
msgid "Static"
@@ -7406,7 +7246,7 @@ msgstr "Segítsd a fordítási munkát!"
#: templates/InvenTree/settings/user_display.html:104
#, python-format
msgid "Native language translation of the web application is community contributed via crowdin. Contributions are welcomed and encouraged."
-msgstr ""
+msgstr "A nyelvi fordításai a web alkalmazásnak közösségiek a crowdin-en. A közreműködéseket szívesen fogadjuk és bátorítjuk."
#: templates/InvenTree/settings/user_homepage.html:9
msgid "Home Page Settings"
@@ -7416,7 +7256,7 @@ msgstr "Főoldal beállításai"
msgid "Label Settings"
msgstr "Címke beállítások"
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr "Értesítési beállítások"
@@ -7426,10 +7266,10 @@ msgstr "InvenTree verzió információk"
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Bezárás"
@@ -7703,8 +7543,8 @@ msgstr "Szükséges mennyiség"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7579,11 @@ msgstr "A távoli kiszolgálónak elérhetőnek kell lennie"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "A távoli kép mérete nem haladhatja meg a maximális fájlméretet"
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr "Nincs válasz"
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr "Nincs válasz az InvenTree kiszolgálótól"
@@ -7755,27 +7595,27 @@ msgstr "Error 400: Rossz kérelem"
msgid "API request returned error code 400"
msgstr "Az API kérelem 400-as hibakódot adott vissza"
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr "Error 401: Nincs hitelesítve"
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr "Hitelesítési adatok nem lettek megadva"
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr "Error 403: Hozzáférés megtagadva"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr "Nincs meg a szükséges jogosultságod, hogy elérd ezt a funkciót"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr "Error 404: Erőforrás nem található"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr "A kért erőforrás nem található a kiszolgálón"
@@ -7787,11 +7627,11 @@ msgstr "Error 405: Metódus nincs engedélyezve"
msgid "HTTP method not allowed at URL"
msgstr "HTTP metódus nincs engedélyezve ezen az URL-n"
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr "Error 408: Időtúllépés"
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr "Időtúllépés a kiszolgálótól való adatlekérés közben"
@@ -7843,89 +7683,89 @@ msgstr "Add meg a vonalkódot"
msgid "Barcode"
msgstr "Vonalkód"
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr "Megjegyzések a készlet áthelyezéshez"
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr "Írd be a megjegyzéseket"
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr "Kiszolgálóhiba"
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr "Ismeretlen válasz a kiszolgálótól"
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr "Érvénytelen válasz a szervertől"
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr "Olvasd be a vonalkódot lentebb"
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr "Vonalkód beolvasása"
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr "Nincs URL a válaszban"
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr "Vonalkód hozzárendelése a készlet tételhez"
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr "Ez törli az összerendelést a készlet tétel és a vonalkód között"
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr "Leválasztás"
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr "Készlet tétel törlése"
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr "Készlet bevételezése az adott helyre"
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr "Bevételezés"
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr "Nincs vonalkód beolvasva"
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr "Készlet tétel már beolvasva"
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr "Készlet tétel már ezen a helyen van"
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr "Hozzáadott készlet tétel"
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr "Vonalkód nem egyezik a készlet tétellel"
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
-msgstr "Bevételezés az adott helyre"
+msgstr "Készlet áthelyezése a leolvasott helyre"
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr "A vonalkód nem egyezik egy ismert hellyel sem"
@@ -7942,12 +7782,12 @@ msgid "Download BOM Template"
msgstr "Alkarészjegyzék sablon letöltése"
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr "Formátum"
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr "Fájlfomátum kiválasztása"
@@ -8025,30 +7865,30 @@ msgstr "Alkatrészjegyzék tétel helyettesítők szerkesztése"
#: templates/js/translated/bom.js:763
msgid "Load BOM for subassembly"
-msgstr ""
+msgstr "BOM betöltése az al-gyártmányhoz"
#: templates/js/translated/bom.js:773
msgid "Substitutes Available"
msgstr "Vannak helyettesítők"
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr "Készletváltozatok engedélyezve"
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr "Nincs szabad"
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr "Változatokkal és helyettesítőkkel együtt"
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr "Változatokkal együtt"
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr "Helyettesítőkkel együtt"
@@ -8088,7 +7928,7 @@ msgstr "Alkatrészjegyzék tétel szerkesztése"
msgid "Delete BOM Item"
msgstr "Alkatrészjegyzék tétel törlése"
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr "Nem találhatók alkatrészjegyzék tételek"
@@ -8096,7 +7936,7 @@ msgstr "Nem találhatók alkatrészjegyzék tételek"
msgid "Are you sure you want to delete this BOM item?"
msgstr "Biztos törölni akarod ezt az alkatrészjegyzék tételt?"
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr "Szükséges alkatrész"
@@ -8104,267 +7944,284 @@ msgstr "Szükséges alkatrész"
msgid "Inherited from parent BOM"
msgstr "Örökölve a szülő alkatrészjegyzéktől"
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr "Gyártási utasítás szerkesztése"
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr "Gyártási utasítás létrehozása"
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Biztosan meg szeretnéd szakítani ezt a gyártást?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr "Gyártási utasítás készen áll a befejezésre"
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr "Gyártási utasítás befejezetlen"
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr "Gyártási utasítás befejezése"
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr "Következő szabad sorozatszám"
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr "Legutolsó sorozatszám"
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "Az alkatrészjegyzék követésre kötelezett alkatrészeket tartalmaz"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr "A gyártási kimeneteket egyesével kell előállítani"
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "A követésre kötelezett alkatrészekhez sorozatszámot lehet rendelni"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr "Adj meg sorozatszámokat a több egyedi gyártási kimenet létrehozásához"
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr "Gyártási kimenet létrehozása"
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr "Készlet tételek foglalása ehhez a gyártási kimenethez"
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr "Készlet felszabadítása a gyártási kimenetből"
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr "Gyártási kimenet befejezése"
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr "Gyártási kimenet törlése"
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr "Biztosan szeretnéd a már lefoglalt készlet tételeket felszabadítani ebből a gyártási utasításból?"
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr "Készlet tételek felszabadítása"
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr "Gyártási kimenetek kiválasztása"
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr "Legalább egy gyártási kimenetet ki kell választani"
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr "Kimenet"
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr "Gyártási kimenetek befejezése"
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr "Gyártási kimenetek törlése"
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr "Nincs gyártási utasításhoz történő foglalás"
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr "Hely nincs megadva"
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr "Nem található aktív gyártási kimenet"
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
-msgstr ""
+msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
-msgstr ""
+msgstr "Nincsenek követett BOM tételek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
-msgstr ""
+msgstr "Befejezett tesztek"
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
-msgstr ""
+msgstr "Nincsenek szükséges tesztek ehhez a gyártáshoz"
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr "Foglalás szerkesztése"
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr "Foglalás törlése"
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr "Vannak helyettesítő alkatrészek"
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr "Szükséges/db"
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr "Nincs elegendő"
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr "Van elegendő"
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Lefoglalva"
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr "Gyártási készlet"
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr "Készlet rendelés"
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr "Lefoglalt készlet"
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Kiválasztott alkatrészek"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr "Legalább egy alkatrész választása szükséges a foglaláshoz"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr "Készlet foglalási mennyiség megadása"
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr "Minden alkatrész lefoglalva"
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr "Minden kiválasztott alkatrész teljesen lefoglalva"
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Válassz forrás helyet (vagy hagyd üresen ha bárhonnan)"
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr "Készlet foglalása a gyártási utasításhoz"
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr "Nincs egyező készlethely"
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr "Nincs egyező készlet"
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr "Automatikus készlet foglalás"
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr "A készlet automatikusan lefoglalásra került ehhez a gyártási utasításhoz, a megadott feltételek szerint"
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr "Ha egy készlet hely meg van adva, akkor készlet csak arról a helyről lesz foglalva"
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr "Ha a készlet helyettesíthetőnek minősül, akkor az első rendelkezésre álló helyről lesz lefoglalva"
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr "Ha a helyettesítő készlet engedélyezve van, akkor ott az lesz használva ha az elsődleges alkatrésznek nincs készlete"
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr "Készlet tételek foglalása"
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr "Nincs a lekérdezéssel egyező gyártási utasítás"
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "Kiválaszt"
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr "Gyártás késésben van"
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
-msgstr ""
+msgstr "Haladás"
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Nincs felhasználói információ"
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr "Nincs információ"
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr "Nincs lefoglalt alkatrész ehhez"
@@ -8384,7 +8241,7 @@ msgstr "Gyártói alkatrész szerkesztése"
msgid "Delete Manufacturer Part"
msgstr "Gyártói alkatrész törlése"
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr "Beszállító hozzáadása"
@@ -8498,61 +8355,61 @@ msgstr "Összes szűrő törlése"
msgid "Create filter"
msgstr "Szűrő létrehozása"
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr "Művelet tiltva"
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr "Létrehozás nem engedélyezett"
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr "Módosítás nem engedélyezett"
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr "Törlés nem engedélyezett"
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr "Megtekintés nem engedélyezett"
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr "Form nyitva tartása"
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr "Adj meg egy érvényes számot"
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Form hibák vannak"
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr "Nincs eredmény"
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr "Keresés"
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr "Bevitel törlése"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr "Fájl oszlop"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr "Mező név"
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr "Oszlopok kiválasztása"
@@ -8573,7 +8430,7 @@ msgid "Labels sent to printer"
msgstr "Címkék nyomtatónak elküldve"
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr "Készlet tételek kiválasztása"
@@ -8626,62 +8483,62 @@ msgstr "kiválasztott készlet tételek"
msgid "Select Label Template"
msgstr "Címke sablon kiválasztása"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "Mégsem"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Küldés"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr "Form megnevezése"
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr "Várakozás a kiszolgálóra..."
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr "Hibainformációk megjelenítése"
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr "Elfogadás"
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr "Adatok betöltése"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr "Rossz válasz a kiszolgálótól"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr "Űrlap adat hiányzik a kiszolgálótól kapott válaszban"
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr "Form adat küldési hiba"
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr "JSON válasz hiányzó form adatok"
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr "Error 400: Rossz kérelem"
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr "A kiszolgáló 400-as hibakódot adott vissza"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr "Form adat lekérése sikertelen"
@@ -8706,19 +8563,20 @@ msgstr "Gyártás ID"
msgid "Order ID"
msgstr "Rendelés ID"
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr "Szállítmány ID"
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr "Kategória ID"
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr "Gyártói cikkszám"
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr "Beszállítói cikkszám"
@@ -8738,282 +8596,363 @@ msgstr "Nincs olvasatlan értesítés"
msgid "Notifications will load here"
msgstr "Az értesítések itt fognak megjelenni"
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr "Ehhez a szállítmányhoz nincs készlet hozzárendelve"
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr "A következő készlet tételek ki lesznek szállítva"
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr "Szállítmány kész"
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr "Szállítmány megerősítése"
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr "Rendelés befejezettnek jelölése?"
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr "Ez a rendelés olyan sortételeket tartalmaz amik még nem érkeztek be."
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr "A rendelés befejezésével jelölésével annak adatai és sortételei a továbbiakban már nem lesznek szerkeszthetők."
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr "A beszerzési rendelés kiküldése után annak sortételei a továbbiakban már nem lesznek szerkeszthetők."
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr "A rendelés törlésével annak adatai a továbbiakban már nem lesznek szerkeszthetők."
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr "Szállítmány létrehozása"
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr "Vevő hozzáadása"
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr "Vevői rendelés létrehozása"
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr "Rendelés exportálása"
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr "Legalább egy beszerezhető alkatrészt ki kell választani"
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr "Rendelendő mennyiség"
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr "Új beszállítói alkatrész"
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr "Új beszerzési rendelés"
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr "Hozzáadás beszerzési rendeléshez"
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr "Nincsenek egyező beszállítói alkatrészek"
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr "Nincsenek egyező beszerzési rendelések"
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr "Sortételek kiválasztása"
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr "Legalább egy sortételt ki kell választani"
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr "Batch kód hozzáadása"
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr "Sorozatszám hozzáadása"
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr "Készlet állapota"
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr "Rendelési kód"
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr "Megrendelve"
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr "Érkező mennyiség"
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr "Bevételezés megerősítése"
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr "Beszerzési rendelés tételeinek bevételezése"
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr "Nem található beszerzési rendelés"
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr "Rendelés késésben"
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr "Tételek"
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr "Sortétel másolása"
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr "Sortétel szerkesztése"
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr "Sortétel törlése"
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr "Nem találhatók sortételek"
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr "Összesen"
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr "Egységár"
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr "Teljes ár"
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr "Ez a sortétel késésben van"
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr "Sortétel bevételezése"
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr "Sortétel másolása"
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr "Sortétel szerkesztése"
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr "Sortétel törlése"
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
-msgstr ""
+msgstr "Sor másolása"
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
-msgstr ""
+msgstr "Sor szerkesztése"
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
-msgstr ""
+msgstr "Sor törlése"
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
-msgstr ""
+msgstr "Sor másolása"
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
-msgstr ""
+msgstr "Sor szerkesztése"
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
-msgstr ""
+msgstr "Sor törlése"
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
-msgstr ""
+msgstr "Nincs egyező sor"
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr "Nem található vevői rendelés"
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr "Érvénytelen vevő"
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr "Szállítmány szerkesztése"
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr "Szállítmány kész"
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr "Szállítmány törlése"
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr "Szállítmány szerkesztése"
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr "Szállítmány törlése"
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr "Nincs egyező szállímány"
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr "Szállítmány azonosító"
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr "Nincs szállítva"
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr "Követés"
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Készlet foglalás megerősítése"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr "Készlet foglalása a vevői rendeléshez"
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr "Nincs vevői rendeléshez történő foglalás"
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr "Készlet foglalások szerkesztése"
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr "Törlési művelet megerősítése"
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr "Készlet foglalások törlése"
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr "Vevőnek kiszállítva"
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr "Készlethely nincs megadva"
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr "Készletrendelés"
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr "Árszámítás"
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr "Nem törölhető mivel a tételek ki lettek szállítva"
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr "Nem törölhető mivel tételek vannak lefoglalva"
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr "Sorozatszámok kiosztása"
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr "Egységár módosítása"
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr "Nincs egyező sortétel"
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
-msgstr ""
+msgstr "Nincsenek egyező sorok"
#: templates/js/translated/part.js:55
msgid "Part Attributes"
@@ -9095,6 +9034,10 @@ msgstr "Parméterek másolása az eredeti alkatrészről"
msgid "Parent part category"
msgstr "Felsőbb szintű alkatrész kategória"
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr "Alkatrész kategória szerkesztése"
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr "Alkatrész szerkesztése"
@@ -9188,8 +9131,8 @@ msgstr "Nincs szabad"
msgid "No category"
msgstr "Nincs kategória"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr "Megjelenítés listaként"
@@ -9197,75 +9140,75 @@ msgstr "Megjelenítés listaként"
msgid "Display as grid"
msgstr "Megjelenítés rácsnézetként"
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr "Megjelenítés fában"
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr "Értesítésre beállított kategória"
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr "Elérési út"
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr "Nincs a lekérdezéssel egyező teszt sablon"
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
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:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr "Teszt eredmény sablon szerkesztése"
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr "Teszt eredmény sablon törlése"
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr "Nincs ${human_name} információ"
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "${human_name} szerkesztése"
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "${human_name} törlése"
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr "Aktuális készlet"
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
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:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr "Ütemezett készlet mennyiség"
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr "Egységes ár"
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr "Egységes ár különbség"
@@ -9347,340 +9290,360 @@ msgstr "Eredmények összezárása"
msgid "Remove results"
msgstr "Eredmények eltávolítása"
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr "Készlet tétel sorszámozása"
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr "Készlet sorozatszámozás megerősítése"
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr "Felsőbb szintű készlet hely"
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr "Készlet hely szerkesztése"
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr "Új készlet hely"
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr "Ezt az alkatrészt nem lehet sorozatszámozni"
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr "Add meg a kezdeti mennyiséget ehhez a készlet tételhez"
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Add meg az új készlet tételhez tartozó sorozatszámokat (vagy hagyd üresen)"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr "Készlet tétel lemásolva"
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr "Készlet tétel másolása"
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr "Készlet tétel szerkesztése"
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr "Készlet tétel létrehozva"
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr "Több készlet tétel létre lett hozva"
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr "Sorozatszám keresése"
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr "Sorozatszám megadása"
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr "Adj meg egy sorozatszámot"
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr "Nincs egyező sorozatszám"
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr "Több egyező eredmény is van"
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr "Készlet hozzárendelés jóváhagyása"
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr "Készlet vevőhöz rendelése"
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr "Figyelem: az összevonási művelet nem vonható vissza"
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr "Némi információ elveszik a készlet összevonás során"
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr "A készlettörténet törölve lesz az összevont tételeknél"
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr "A beszállítói alkatrész információk törlődnek az összevont tételeknél"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr "Készlet összevonás megerősítése"
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr "Készlet tételek összevonása"
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr "Készlet áthelyezése"
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr "Áthelyezés"
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr "Leltározás"
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr "Mennyiség"
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr "Készlet csökkentése"
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr "Kivesz"
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr "Készlet növelése"
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr "Hozzáad"
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr "Készlet törlése"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr "Egyedi követésre kötelezett tételeknél a menyiség nem módosítható"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr "Készlet mennyiség megadása"
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr "Ki kell választanod legalább egy rendelkezésre álló készlet tételt"
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr "Készlet módosítás jóváhagyása"
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr "SIKER"
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr "SIKERTELEN"
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr "NINCS EREDMÉNY"
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr "Teszt sikeres"
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr "Teszt eredmény hozzáadása"
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr "Nincs teszt eredmény"
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr "Teszt dátuma"
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr "Teszt eredmény szerkesztése"
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr "Teszt eredmény törlése"
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr "Gyártásban"
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr "Beépítve készlet tételbe"
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr "Vevő rendeléshez hozzárendelve"
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "Nincs hely megadva"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr "Készlet tétel gyártás alatt"
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr "Készlet tétel hozzárendelve egy vevői rendeléshez"
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr "Készlet tétel hozzárendelve egy vevőhöz"
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr "Készlet tétel lejárt"
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr "Készlet tétel hamarosan lejár"
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr "Egyedi követésre kötelezett készlet tétel lefoglalva"
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr "Készlet tétel teljes egészében lefoglalva"
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr "Készlet tétel részben lefoglalva"
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr "Készlet tétel beépítve egy másikba"
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr "Készlet tétel elutasítva"
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr "Készlet tétel elveszett"
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr "Készlet tétel megsemmisült"
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr "Kimerült"
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr "Leltár"
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr "Beszállítói alkatrész nincs megadva"
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr "Nincs a lekérdezésnek megfelelő készlet tétel"
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr "Készlet állapot beállítása"
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr "Státuszkód kiválasztása"
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr "Státuszkódot ki kell választani"
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr "Részletek"
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr "Alkatrész információ nem áll rendelkezésre"
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr "A hely már nem létezik"
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr "Beszerzési megrendelés már nem létezik"
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr "Vevő már nem létezik"
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr "A készlet tétel már nem létezik"
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr "Hozzáadva"
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr "Eltávolítva"
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr "Nincsenek beépített tételek"
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr "Készlet tétel kiszedése"
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr "Másik tétel beépítése ebbe a készlet tételbe"
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr "Készlet tételek csak akkor építhetők be ha teljesítik a következő kritériumokat"
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr "A készlet tétel egy olyan alkatrészre mutat ami alkatrészjegyzéke ennek a készlet tételnek"
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr "A készlet tétel jelenleg elérhető készleten"
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr "A készlet tétel még nem épült be egy másik tételbe"
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr "A készlet tétel követett vagy sorozatszámmal vagy batch kóddal"
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr "Válaszd ki a beépítendő alkatrészt"
@@ -10198,35 +10161,35 @@ msgstr "Jogosultságok"
msgid "Important dates"
msgstr "Fontos dátumok"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "Jogosultságok"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "Csoport"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Nézet"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Jogosultság tételek megtekintéséhez"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Jogosultság tételek hozzáadásához"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "Módosítás"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Jogosultság tételek szerkesztéséhez"
-#: users/models.py:220
+#: users/models.py:221
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 148c6c1ce1..a29dab65ac 100644
--- a/InvenTree/locale/id/LC_MESSAGES/django.po
+++ b/InvenTree/locale/id/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
@@ -33,9 +33,8 @@ msgstr "Aksi tidak ditemukan"
msgid "Enter date"
msgstr "Masukkan tanggal"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Konfirmasi"
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -249,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/it/LC_MESSAGES/django.po b/InvenTree/locale/it/LC_MESSAGES/django.po
index 08eaf1e2c8..5479b5679b 100644
--- a/InvenTree/locale/it/LC_MESSAGES/django.po
+++ b/InvenTree/locale/it/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Italian\n"
"Language: it_IT\n"
@@ -33,9 +33,8 @@ msgstr "Nessuna azione corrispondente trovata"
msgid "Enter date"
msgstr "Inserisci la data"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Conferma"
@@ -84,8 +83,7 @@ msgstr "È necessario digitare la stessa e-mail ogni volta."
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Quantità inserita non valida"
@@ -119,8 +117,8 @@ msgstr "Nessun numero di serie trovato"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Il numero dei numeri seriali univoci ({s}) deve essere uguale alla quantità ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Allegato"
msgid "Select file to attach"
msgstr "Seleziona file da allegare"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Link a URL esterno"
@@ -160,12 +158,12 @@ msgstr "Commento"
msgid "File comment"
msgstr "Commento del file"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Utente"
@@ -202,27 +200,27 @@ msgstr "Errore nella rinominazione del file"
msgid "Invalid choice"
msgstr "Scelta non valida"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Nome"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Nome"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Descrizione"
@@ -249,7 +247,7 @@ msgstr "Descrizione (opzionale)"
msgid "parent"
msgstr "genitore"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Deve essere un numero valido"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Inviato"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Completo"
@@ -441,8 +439,8 @@ msgstr "Perso"
msgid "Returned"
msgstr "Reso"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Spedito"
@@ -522,7 +520,7 @@ msgstr "Diviso dall'elemento genitore"
msgid "Split child item"
msgstr "Dividi elemento figlio"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Conferma annullamento"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Ordine di Produzione"
@@ -691,14 +681,14 @@ msgstr "Ordini di Produzione"
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Riferimento"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Articolo"
@@ -760,8 +749,8 @@ msgstr "Numero di riferimento ordine di vendita"
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Posizione Di Origine"
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Data di creazione"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Data completamento obiettivo"
@@ -823,8 +812,8 @@ msgstr "Data completamento obiettivo"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Data di completamento"
@@ -832,7 +821,7 @@ msgstr "Data di completamento"
msgid "completed by"
msgstr "Completato da"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Rilasciato da"
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Responsabile"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Collegamento esterno"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Note"
@@ -885,81 +874,80 @@ msgstr "Note"
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
-msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "L'articolo in giacenza è sovrallocato"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "La quantità di assegnazione deve essere maggiore di zero"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "La quantità deve essere 1 per lo stock serializzato"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "Articolo in giacenza selezionato non trovato nel BOM"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Produzione"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Articoli in magazzino"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Origine giacenza articolo"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Origine giacenza articolo"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Quantità"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Installa in"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Destinazione articolo in giacenza"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Inserisci la quantità per l'output di compilazione"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "La quantità deve essere maggiore di zero"
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Codice Seriale"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Posizione"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr "Posizione per gli output di build completati"
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "Stato"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr "Distinta base (Bom)"
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "L'articolo deve essere disponibile"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Quantità disponibile ({q}) superata"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr "Deve essere indicata l'allocazione dell'articolo"
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Data scadenza"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Completato"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Ordini di Vendita"
@@ -1322,19 +1324,15 @@ msgstr "Ordini di Vendita"
msgid "Issued By"
msgstr "Inviato da"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "Output Incompleti"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr "Lo stock può essere prelevato da qualsiasi posizione disponibile."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Destinazione"
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr "Lotto"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Creato"
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr "Ordina articoli richiesti"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Ordine Articoli"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "Elimina Ordine Build"
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr "Seleziona il file {name} da caricare"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr "Valore impostazioni"
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr "Il valore specificato non è un opzione valida"
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "Il valore deve essere un valore booleano"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr "Il valore deve essere un intero"
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr "La stringa chiave deve essere univoca"
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr "Nessun gruppo"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Riavvio richiesto"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr "È stata modificata un'impostazione che richiede un riavvio del server"
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr "Descrittore stringa per l'istanza del server"
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr "Utilizza nome istanza"
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr "Usa il nome dell'istanza nella barra del titolo"
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Nome azienda"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Nome interno dell'azienda"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "URL Base"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "URL di base per l'istanza del server"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Valuta predefinita"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Valuta predefinita"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Scarica dall'URL"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Consenti il download di immagini e file remoti da URL esterno"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Supporto Codice A Barre"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Abilita supporto scanner codici a barre"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr "Schema di espressione regolare per l'articolo corrispondente IPN"
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Consenti duplicati IPN"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Permetti a più articoli di condividere lo stesso IPN"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Permetti modifiche al part number interno (IPN)"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr "Copia I Dati Della distinta base dell'articolo"
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr "Copia I Dati Parametro dell'articolo"
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr "Copia i dati dei parametri di default quando si duplica un articolo"
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr "Copia i dati di prova di default quando si duplica un articolo"
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr "Copia Template Parametri Categoria"
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr "Copia i modelli dei parametri categoria quando si crea un articolo"
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "Gli articoli sono modelli per impostazione predefinita"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Assemblaggio"
-#: common/models.py:814
+#: common/models.py:901
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:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Componente"
-#: common/models.py:821
+#: common/models.py:908
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:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Acquistabile"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Vendibile"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Gli articoli sono acquistabili per impostazione predefinita"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Tracciabile"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Gli articoli sono tracciabili per impostazione predefinita"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuale"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Gli articoli sono virtuali per impostazione predefinita"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr "Mostra l'importazione nelle viste"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr "Mostra la procedura guidata di importazione in alcune viste articoli"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Mostra il prezzo nei moduli"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr "Mostra il prezzo dell'articolo in alcuni moduli"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr "Mostra il prezzo nella BOM"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr "Includi le informazioni sui prezzi nelle tabelle BOM"
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "Mostra articoli correlati"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr "Visualizza parti correlate per ogni articolo"
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr "Crea giacenza iniziale"
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr "Crea giacenza iniziale sulla creazione articolo"
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr "Prezzi interni"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr "Abilita prezzi interni per gli articoli"
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr "Prezzo interno come BOM-Price"
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "Utilizzare il prezzo interno (se impostato) nel calcolo del prezzo BOM"
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr "Formato di visualizzazione del nome articolo"
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr "Formato per visualizzare il nome dell'articolo"
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr "Abilita Report di Stampa"
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr "Abilita generazione di report di stampa"
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Modalità Debug"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr "Genera report in modalità debug (output HTML)"
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Dimensioni pagina"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "Dimensione predefinita della pagina per i report PDF"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "Stampa di prova"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr "Abilita generazione di stampe di prova"
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr "Scadenza giacenza"
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr "Abilita funzionalità di scadenza della giacenza"
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr "Vendi giacenza scaduta"
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr "Consenti la vendita di stock scaduti"
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza"
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "giorni"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr "Controllo della proprietà della giacenza"
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza"
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr "Referenza ordine d'acquisto"
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr "Abilita password dimenticata"
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr "Abilita la funzione password dimenticata nelle pagine di accesso"
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr "Abilita registrazione"
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso"
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "SSO abilitato"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "Abilita SSO nelle pagine di accesso"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "Email richiesta"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione"
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr "Riempimento automatico degli utenti SSO"
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO"
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr "Tasto impostazioni (deve essere univoco - maiuscole e minuscole"
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr "Mostra le categorie sottoscritte"
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr "Mostra le categorie dei componenti sottoscritti nella homepage"
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Mostra ultimi articoli"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr "Visualizzazione dell'etichetta in linea"
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "Visualizza le etichette PDF nel browser, invece di scaricare come file"
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr "Risultati Dell'Anteprima Di Ricerca"
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Prezzo"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr "Attivo"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Carica file"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "Descrizione azienda"
msgid "Description of the company"
msgstr "Descrizione dell'azienda"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr "Sito Web"
msgid "Company website URL"
msgstr "Sito web aziendale"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Indirizzo"
@@ -2593,7 +2579,7 @@ msgstr "Telefono"
msgid "Contact phone number"
msgstr "Numero di telefono di contatto"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr "Indirizzo email"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Contatto"
@@ -2614,7 +2600,7 @@ msgstr "Punto di contatto"
msgid "Link to external company information"
msgstr "Collegamento alle informazioni aziendali esterne"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Immagine"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Valuta"
@@ -2652,18 +2638,18 @@ msgstr "Valuta"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Articolo di base"
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "Seleziona articolo"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr "Seleziona articolo"
msgid "Manufacturer"
msgstr "Produttore"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Seleziona Produttore"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr "Codice articolo produttore (MPN)"
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Codice articolo produttore"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr "Descrizione articolo costruttore"
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "Codice articolo produttore"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr "Nome parametro"
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Valore"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "Valore del parametro"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Unità"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr "Unità parametri"
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo"
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Fornitore"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Seleziona fornitore"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr "Selezionare un produttore"
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr "URL dell'articolo del fornitore"
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr "Descrizione articolo fornitore"
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Nota"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "costo base"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Onere minimo (ad esempio tassa di stoccaggio)"
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Confezionamento"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr "Imballaggio del pezzo"
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr "multiplo"
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr "Ordine multiplo"
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr "Azienda"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Crea ordine d'acquisto"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr "Modifica le informazioni dell'azienda"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "Modifica azienda"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "Elimina Azienda"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Carica nuova immagine"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Scarica immagine dall'URL"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Cliente"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "Valuta predefinita"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "Telefono"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "Carica immagine"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "Articoli fornitore"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Crea nuovo fornitore"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Nuovo fornitore articolo"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr "Opzioni"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Articoli ordinati"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "Elimina articoli fornitore?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "Tutte gli articoli del fornitore selezionati saranno eliminati"
@@ -3018,77 +3002,81 @@ msgstr "Elenco dei fornitori"
msgid "Manufacturers"
msgstr "Produttori"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "Articoli ordinati"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "Articolo interno"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Fornitori"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Elimina articolo fornitore"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Elimina"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parametri"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "Nuovo Parametro"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr "Elimina il parametro"
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr "Aggiungi parametro"
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr "Gli eventi selezionati verranno eliminati"
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr "Elimina Parametri"
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr "Articolo Fornitore"
@@ -3125,66 +3114,70 @@ msgstr "Modifica articolo fornitore"
msgid "Delete supplier part"
msgstr "Elimina articolo fornitore"
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Fornitore articolo in giacenza"
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr "Crea nuova allocazione magazzino"
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr "Nuovo Elemento in giacenza"
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Ordini articoli fornitore"
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr "Ordine Articolo"
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Informazioni Prezzi"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr "Aggiungi riduzione prezzo"
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr "Nessuna informazione di riduzione di prezzo trovata"
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr "Elimina riduzione di prezzo"
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr "Modifica riduzione di prezzo"
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr "Cancella riduzione di prezzo"
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Magazzino"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr "Prezzi"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Articoli in magazzino"
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr "Invia l'ordine"
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr "Contrassegna ordine come completato"
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Annulla l'ordine"
-
#: order/models.py:130
msgid "Order description"
msgstr "Descrizione ordine"
@@ -3371,280 +3351,285 @@ msgstr "Utente o gruppo responsabile di questo ordine"
msgid "Order notes"
msgstr "Note ordine"
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr "Riferimento ordine"
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr "Stato ordine d'acquisto"
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr "Azienda da cui sono stati ordinati gli articoli"
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr "Riferimento fornitore"
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr "Codice di riferimento ordine fornitore"
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr "ricevuto da"
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr "Data di emissione"
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr "Data di emissione ordine"
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr "Data di consegna programmata"
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr "Data prevista per la consegna dell'ordine. L'ordine scadrà dopo questa data."
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr "Data ordine completato"
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr "Articolo Fornitore"
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "La quantità di ripartizione non puo' superare la disponibilità della giacenza"
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr "Inserisci la quantità assegnata alla giacenza"
@@ -3652,99 +3637,118 @@ msgstr "Inserisci la quantità assegnata alla giacenza"
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti"
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr "La destinazione deve essere specificata"
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Annulla l'ordine"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr "Invia l'ordine"
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr "Ricevere articoli"
@@ -3773,8 +3786,12 @@ msgstr "Ricevere articoli"
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr "Contrassegna ordine come completato"
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr "Stato dell'ordine"
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr "Emesso"
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr "Modifica ordine d'acquisto"
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr "Seleziona l'articolo del fornitore"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Elimina riga"
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr "Fase 1 di 2 - Selezionare fornitori dell'articolo"
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr "Seleziona fornitori"
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr "Nessun articolo acquistabile selezionato"
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "Seleziona fornitore"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr "Rimuovi parte"
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr "Specifica la posizione per lo stock iniziale"
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Posizione Predefinita"
@@ -4191,15 +4081,15 @@ msgstr "Ordinato"
msgid "Select part category"
msgstr "Seleziona categoria articolo"
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr "Digita la quantità per il calcolo del prezzo"
@@ -4215,7 +4105,7 @@ msgstr "Keywords predefinite"
msgid "Default keywords for parts in this category"
msgstr "Parole chiave predefinite per gli articoli in questa categoria"
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Categoria Articoli"
@@ -4232,7 +4122,7 @@ msgstr "Categorie Articolo"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Articoli"
@@ -4241,411 +4131,411 @@ msgstr "Articoli"
msgid "Invalid choice for parent part"
msgstr "Scelta non valida per l'articolo principale"
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr "I successivi numeri di serie disponibili sono"
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr "Il prossimo numero di serie disponibile è"
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr "Il numero di serie più recente è"
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr "Non è consentito duplicare IPN nelle impostazioni dell'articolo"
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "Nome articolo"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr "È Template"
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr "Quest'articolo è un articolo di template?"
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr "Questa parte è una variante di un altro articolo?"
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr "Variante Di"
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Descrizione articolo"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Parole Chiave"
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca"
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Categoria"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr "Categoria articolo"
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "IPN - Numero di riferimento interno"
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr "Numero Dell'articolo Interno"
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr "Numero di revisione o di versione"
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Revisione"
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr "Dove viene normalmente immagazzinato questo articolo?"
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Fornitore predefinito"
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr "Articolo fornitore predefinito"
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr "Scadenza Predefinita"
-#: part/models.py:946
+#: part/models.py:941
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:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Scorta Minima"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr "Livello minimo di giacenza consentito"
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr "Unità di conservazione delle scorte per quest'articolo"
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr "Quest'articolo può essere acquistato da fornitori esterni?"
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr "Questo pezzo può essere venduto ai clienti?"
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr "Quest'articolo è attivo?"
-#: part/models.py:997
+#: part/models.py:992
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:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr "Note dell'articolo - supporta la formattazione Markdown"
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr "Descrizione Di Prova"
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Codice Articolo"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Consenti Le Varianti"
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr "Percorso Categoria"
msgid "Top level part category"
msgstr "Categoria articolo di livello superiore"
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Sottocategorie"
@@ -4826,39 +4716,31 @@ msgstr "Nuovo articolo"
msgid "Set category"
msgstr "Imposta categoria"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "Imposta Categoria"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr "Stampa Etichette"
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr "Esporta"
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr "Esporta Dati"
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr "Parametri articolo"
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr "Crea Categoria Articolo"
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr "Crea Articolo"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr "Articoli correlati"
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr "Inattivo"
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr "In magazzino"
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr "Ci sono %(count)s produttori definiti per questa parte. Se elimini quest
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr "Ci sono %(count)s fornitori definiti per questo articolo. Se elimini questo, verranno eliminate anche i seguenti articoli del fornitore:"
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr "Imposta categoria per i seguenti articoli"
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr "Rimuovi parte"
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr "Modifica Categoria Articoli"
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr "Elimina categoria"
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr "La Categoria articoli è stata eliminata"
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr "Crea Template Parametro Categoria"
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr "Modifica Modello Parametro Categoria"
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr "Elimina Modello Parametro Categoria"
@@ -5606,7 +5488,25 @@ msgstr "Elimina Modello Parametro Categoria"
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr "Data"
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr "Seriale"
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr "La quantità è richiesta"
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr "Data di Scadenza"
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr "Posizione di destinazione per gli elementi disinstallati"
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr "Conferma la disinstallazione"
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr "Data di Scadenza"
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr "Posizione magazzino di destinazione"
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Numeri di serie già esistenti"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr "Ultimo aggiornamento"
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr "Nessuna posizione impostata"
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr "Modifica Posizione Giacenza"
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr "QR Code della posizione magazzino"
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr "Specificare una posizione valida"
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "Crea una nuova Posizione di Giacenza"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr "Elimina Posizione di Giacenza"
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "Nessun parametro di categoria trovato"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr "Informazioni Versione InvenTree"
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Chiudi"
@@ -7703,8 +7542,8 @@ msgstr "Quantità richiesta"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr "Il server remoto deve essere accessibile"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "L'immagine remota non deve superare la dimensione massima consentita del file"
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr "Controlla gli elementi in magazzino nella posizione"
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr "Elemento in giacenza già in questa posizione"
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr "Controlla Nella Posizione"
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr "Il codice a barre non corrisponde a una posizione valida"
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr "Formato"
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "La distinta base contiene articoli tracciabili"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr "Posizione non specificata"
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Modifica allocazione magazzino"
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr "Modifica Posizione"
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr "Rimuovi Posizione"
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Seleziona Articoli"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr "Specificare il quantitativo assegnato allo stock"
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Seleziona la posizione di origine (lascia vuoto per prendere da tutte le posizioni)"
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr "Nessuna posizione di magazzino corrispondente"
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr "Aggiungi fornitore"
@@ -8498,61 +8354,61 @@ msgstr "Cancella tutti i filtri"
msgid "Create filter"
msgstr "Crea filtro"
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr "Azione Vietata"
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr "Crea operazione non consentita"
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr "Operazione di aggiornamento non consentita"
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr "Operazione di eliminazione non consentita"
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr "Mostra operazione non consentita"
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr "Inserisci un numero valido"
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr "Nessun risultato trovato"
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr "Ricerca"
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr "Cancella input"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr "elemento stock creato"
msgid "Select Label Template"
msgstr "Seleziona Modello Etichetta"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "Annulla"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Invia"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr "Titolo modulo"
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr "In attesa del server..."
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr "Informazioni sull'errore"
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr "Accetta"
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr "Risposta dal server non valida"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr "ID Ordine"
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr "Id Categoria"
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr "ID articolo produttore"
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr "Aggiungi cliente"
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr "Quantità da ricevere"
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr "Stato giacenza"
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr "Codice ordine"
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr "Ordinato"
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr "Totale"
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr "Prezzo Unitario"
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr "Prezzo Totale"
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr "Cliente non valido"
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Conferma l'assegnazione della giacenza"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr "Nessun ordine di vendita trovato"
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr "Modifica posizione giacenza"
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr "Conferma Operazione Eliminazione"
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr "Elimina posizione giacenza"
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr "Spedito al cliente"
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr "Nessun posizione specificata"
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr "Prezzo d'acquisto"
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr "Calcola il prezzo"
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr "Categoria articolo principale"
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr "Modifica Categoria Articoli"
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr "Modifica l'articolo"
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr "Nessuna categoria"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr "Visualizza come elenco"
@@ -9197,75 +9139,75 @@ msgstr "Visualizza come elenco"
msgid "Display as grid"
msgstr "Visualizza come griglia"
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr "Visualizza come struttura ad albero"
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr "Categoria sottoscritta"
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr "Percorso"
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr "Nessun modello di test corrispondente"
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr "Modificare il risultato del test"
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr "Cancellare il risultato del test"
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "Modifica ${human_name}"
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "Elimina ${human_name}"
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr "Prezzo Singolo"
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr "Posizione giacenza principale"
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr "Modifica Posizione Giacenza"
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr "Nuova posizione giacenza"
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr "Inserisci quantità iniziale per questo articolo in giacenza"
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr "Inserire i numeri di serie per la nuova giacenza (o lasciare vuoto)"
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr "Crea nuova allocazione magazzino"
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr "Creato più elementi stock"
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr "Trasferisci giacenza"
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr "Sposta"
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr "Conta giacenza"
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr "Conta"
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr "Rimuovi giacenza"
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr "Prendi"
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr "Aggiungi giacenza"
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr "Aggiungi"
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr "Elimina Stock"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr "Specificare la quantità di magazzino"
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr "Devi selezionare almeno un articolo disponibile"
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr "NESSUN RISULTATO"
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr "Aggiungi risultato test"
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr "Nessun risultato di prova trovato"
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr "In produzione"
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr "Installato nell'elemento stock"
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr "Assegnato all'ordine di vendita"
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "Nessuna giacenza impostata"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr "L'articolo di magazzino è in produzione"
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr "Articolo stock assegnato al cliente"
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr "L'articolo stock è scaduto"
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr "Articolo in giacenza prossimo alla scadenza"
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr "L'elemento stock è stato installato in un altro articolo"
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr "L'articolo stock è stato rifiutato"
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr "Esaurito"
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr "Inventario"
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr "La posizione non esiste più"
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr "Aggiunto"
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr "Rimosso"
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr "Permessi"
msgid "Important dates"
msgstr "Date Importanti"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "Impostazione autorizzazioni"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "Gruppo"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Visualizza"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Autorizzazione a visualizzare gli articoli"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Autorizzazione ad aggiungere elementi"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "Modificare"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Permessi per modificare gli elementi"
-#: users/models.py:220
+#: users/models.py:221
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 41050ffebe..cb23d87cc9 100644
--- a/InvenTree/locale/ja/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ja/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
@@ -33,9 +33,8 @@ msgstr "一致するアクションが見つかりませんでした"
msgid "Enter date"
msgstr "日付を入力する"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "確認"
@@ -84,8 +83,7 @@ msgstr "毎回同じメールアドレスを入力する必要があります。
msgid "Duplicate serial: {sn}"
msgstr "重複したシリアル番号: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "数量コードが無効です"
@@ -119,7 +117,7 @@ msgstr "シリアル番号が見つかりません"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr "添付ファイル"
msgid "Select file to attach"
msgstr "添付ファイルを選択"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "リンク"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "外部 サイト へのリンク"
@@ -160,12 +158,12 @@ msgstr "コメント:"
msgid "File comment"
msgstr "ファイルコメント"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "ユーザー"
@@ -202,27 +200,27 @@ msgstr "ファイル名の変更に失敗しました"
msgid "Invalid choice"
msgstr "無効な選択です"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "お名前"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "お名前"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "説明"
@@ -249,7 +247,7 @@ msgstr "説明 (オプション)"
msgid "parent"
msgstr "親"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "有効な数字でなければなりません"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "設置済"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "完了"
@@ -441,8 +439,8 @@ msgstr "紛失"
msgid "Returned"
msgstr "返品済"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "発送済み"
@@ -522,7 +520,7 @@ msgstr "親アイテムから分割する"
msgid "Split child item"
msgstr "子項目を分割"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "商品在庫をマージしました"
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "パーツ"
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "作成日時"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "メモ"
@@ -885,81 +874,80 @@ msgstr "メモ"
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr "パーツを割り当てるためにビルドする"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "ステータス"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr "注文必須パーツ"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "パーツの注文"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "テンプレート"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "パーツはデフォルトのテンプレートです"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "アセンブリ"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます"
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "コンポーネント"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr "パーツはデフォルトでサブコンポーネントとして使用できます"
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "購入可能"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "パーツはデフォルトで購入可能です"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "パーツはデフォルトで販売可能です"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "追跡可能"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "パーツはデフォルトで追跡可能です"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "デバッグモード"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr "メッセージ ID:"
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "メーカー・パーツ"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "サプライヤー・パーツ"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "新しいサプライヤー・パーツを作成"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "新しいサプライヤー・パーツ"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "パーツの注文"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "パーツの注文"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "メーカー・パーツの編集"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "メーカー・パーツを削除"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "内部パーツ"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr "購入可能なパーツが選択されていません"
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "パーツ"
@@ -4241,411 +4131,411 @@ msgstr "パーツ"
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr "新規パーツ"
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr "メーカー・パーツの編集"
msgid "Delete Manufacturer Part"
msgstr "メーカー・パーツを削除"
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/ko/LC_MESSAGES/django.po b/InvenTree/locale/ko/LC_MESSAGES/django.po
index a4741e3bd4..a9bf8b4bf7 100644
--- a/InvenTree/locale/ko/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ko/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
@@ -33,9 +33,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "확인"
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr "첨부파일"
msgid "Select file to attach"
msgstr "첨부할 파일을 선택하세요"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "링크"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "외부 URL로 링크"
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "사용자"
@@ -202,27 +200,27 @@ msgstr "파일 이름 바꾸기 오류"
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "이름"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "이름"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "설명"
@@ -249,7 +247,7 @@ msgstr "설명 (선택 사항)"
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "유효한 숫자여야 합니다"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "외부 링크"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "수량"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "수량 값은 0보다 커야 합니다"
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "일련번호"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "위치"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "상태"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr "{name.title()} 파일"
msgid "Select {name} file to upload"
msgstr "업로드할 {name} 파일을 선택하세요"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "재시작 필요"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "회사명"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "기본 통화"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "기본 통화"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "URL에서 다운로드"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "바코드 지원"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "구입 가능"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "판매 가능"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "디버그 모드"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "페이지 크기"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "PDF 보고서 기본 페이지 크기"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "SSO 활성화"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "로그인 페이지에서 SSO 활성화"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "이메일 필요"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr "두 번 보내기"
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "파일 업로드"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "회사 소개"
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr "웹사이트"
msgid "Company website URL"
msgstr "회사 웹사이트 URL"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "주소"
@@ -2593,7 +2579,7 @@ msgstr "전화번호"
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "이메일"
@@ -2602,7 +2588,7 @@ msgstr "이메일"
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "이미지"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr "회사"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr "회사 정보 수정"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "회사 수정"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr "회사 삭제"
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "회사 삭제"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "새 이미지 업로드"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "URL에서 이미지 다운로드"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "고객"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "전화번호"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "이미지 업로드"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "삭제"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr "바코드 해시"
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr "이미 사용 중인 바코드입니다"
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "경고"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr "데이터"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr "키"
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "일련번호"
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr "일련번호"
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "일련번호가 이미 존재합니다"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "경고"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr "홈 페이지 설정"
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr "InvenTree 버전 정보"
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr "오류 408: 시간 초과"
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr "바코드"
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr "서버 오류"
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "선택"
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "취소"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "제출"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr "단가"
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr "일련번호 찾기"
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr "일련번호를 입력하세요"
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr "일련번호를 입력하세요"
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr "일치하는 일련번호가 없습니다"
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/nl/LC_MESSAGES/django.po b/InvenTree/locale/nl/LC_MESSAGES/django.po
index 38d10a3697..de48081d74 100644
--- a/InvenTree/locale/nl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/nl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
@@ -33,9 +33,8 @@ msgstr "Geen overeenkomende actie gevonden"
msgid "Enter date"
msgstr "Voer datum in"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Bevestigen"
@@ -84,10 +83,9 @@ msgstr "Er moet hetzelfde e-mailadres ingevoerd worden."
msgid "Duplicate serial: {sn}"
msgstr "Duplicaat serienummer: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
-msgstr "Ongeldige hoeveeldheid ingevoerd"
+msgstr "Ongeldige hoeveelheid ingevoerd"
#: InvenTree/helpers.py:459
msgid "Empty serial number string"
@@ -96,7 +94,7 @@ msgstr "Leeg serienummer"
#: InvenTree/helpers.py:491
#, python-brace-format
msgid "Invalid group range: {g}"
-msgstr ""
+msgstr "Ongeldig groepsbereik: {g}"
#: InvenTree/helpers.py:494
#, python-brace-format
@@ -106,7 +104,7 @@ msgstr "Ongeldige groep: {g}"
#: InvenTree/helpers.py:522
#, python-brace-format
msgid "Invalid group sequence: {g}"
-msgstr ""
+msgstr "Ongeldig groepsbereik: {g}"
#: InvenTree/helpers.py:530
#, python-brace-format
@@ -119,8 +117,8 @@ msgstr "Geen serienummers gevonden"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Aantal unieke serienummer ({s}) moet overeenkomen met de hoeveelheid ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr "Hoeveelheid van unieke serienummers ({s}) moet overeenkomen met de hoeveelheid ({q})"
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Bijlage"
msgid "Select file to attach"
msgstr "Bestand als bijlage selecteren"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
-msgstr ""
+msgstr "Link"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Link naar externe URL"
@@ -158,14 +156,14 @@ msgstr "Opmerking"
#: InvenTree/models.py:208
msgid "File comment"
-msgstr "Bijlage opmerking"
+msgstr "Bestand opmerking"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Gebruiker"
@@ -179,7 +177,7 @@ msgstr "Bestandsnaam mag niet leeg zijn"
#: InvenTree/models.py:264
msgid "Invalid attachment directory"
-msgstr "Fout bijlagemap"
+msgstr "Foute bijlagemap"
#: InvenTree/models.py:274
#, python-brace-format
@@ -202,27 +200,27 @@ msgstr "Fout bij hernoemen bestand"
msgid "Invalid choice"
msgstr "Ongeldige keuze"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Naam"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Naam"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Omschrijving"
@@ -247,9 +245,9 @@ msgstr "Omschrijving (optioneel)"
#: InvenTree/models.py:358
msgid "parent"
-msgstr "overkoepelend"
+msgstr "bovenliggende"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Moet een geldig nummer zijn"
@@ -305,7 +303,7 @@ msgstr "Dubbele kolom: '{col}'"
#: InvenTree/settings.py:672
msgid "Czech"
-msgstr ""
+msgstr "Tsjechisch"
#: InvenTree/settings.py:673
msgid "German"
@@ -329,7 +327,7 @@ msgstr "Spaans (Mexicaans)"
#: InvenTree/settings.py:678
msgid "Farsi / Persian"
-msgstr ""
+msgstr "Farsi / Perzisch"
#: InvenTree/settings.py:679
msgid "French"
@@ -369,11 +367,11 @@ msgstr "Pools"
#: InvenTree/settings.py:688
msgid "Portuguese"
-msgstr ""
+msgstr "Portugees"
#: InvenTree/settings.py:689
msgid "Portuguese (Brazilian)"
-msgstr ""
+msgstr "Portugees (Braziliaans)"
#: InvenTree/settings.py:690
msgid "Russian"
@@ -409,7 +407,7 @@ msgstr "E-mailbackend niet geconfigureerd"
#: InvenTree/status.py:117
msgid "InvenTree system health checks failed"
-msgstr "Inventree gezondsheidscheck faalt"
+msgstr "InvenTree gezondsheidschecks mislukt"
#: InvenTree/status_codes.py:101 InvenTree/status_codes.py:142
#: InvenTree/status_codes.py:323 templates/js/translated/table_filters.js:326
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Geplaatst"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Voltooid"
@@ -441,14 +439,14 @@ msgstr "Kwijt"
msgid "Returned"
msgstr "Retour"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Verzonden"
#: InvenTree/status_codes.py:183
msgid "OK"
-msgstr ""
+msgstr "OK"
#: InvenTree/status_codes.py:184
msgid "Attention needed"
@@ -468,7 +466,7 @@ msgstr "Afgewezen"
#: InvenTree/status_codes.py:276
msgid "Legacy stock tracking entry"
-msgstr "Verouderde trackingscode"
+msgstr "Verouderde volgcode"
#: InvenTree/status_codes.py:278
msgid "Stock item created"
@@ -476,7 +474,7 @@ msgstr "Voorraaditem gemaakt"
#: InvenTree/status_codes.py:280
msgid "Edited stock item"
-msgstr "Bewerken voorraaditem"
+msgstr "Bewerken voorraadartikel"
#: InvenTree/status_codes.py:281
msgid "Assigned serial number"
@@ -508,11 +506,11 @@ msgstr "Gedemonteerd"
#: InvenTree/status_codes.py:292
msgid "Installed component item"
-msgstr "Gemonteerd item"
+msgstr "Geïnstalleerd componentartikel"
#: InvenTree/status_codes.py:293
msgid "Removed component item"
-msgstr "Gedemonteerd item"
+msgstr "Verwijderd componentartikel"
#: InvenTree/status_codes.py:295
msgid "Split from parent item"
@@ -522,13 +520,13 @@ msgstr "Splits van bovenliggend item"
msgid "Split child item"
msgstr "Splits onderliggende item"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
-msgstr "Samengevoegde stock items"
+msgstr "Samengevoegde voorraadartikelen"
#: InvenTree/status_codes.py:300
msgid "Converted to variant"
-msgstr ""
+msgstr "Geconverteerd naar variant"
#: InvenTree/status_codes.py:302 templates/js/translated/table_filters.js:213
msgid "Sent to customer"
@@ -548,7 +546,7 @@ msgstr "Product voltooid"
#: InvenTree/status_codes.py:307
msgid "Consumed by build order"
-msgstr "Verbruikt door bouwopdracht"
+msgstr "Verbruikt door productieopdracht"
#: InvenTree/status_codes.py:309
msgid "Received against purchase order"
@@ -560,11 +558,11 @@ msgstr "Productie"
#: InvenTree/validators.py:25
msgid "Not a valid currency code"
-msgstr "Foute valutacode"
+msgstr "Geen geldige valutacode"
#: InvenTree/validators.py:53
msgid "Invalid character in part name"
-msgstr "Foute letter in onderdeelnaam"
+msgstr "Ongeldig teken in onderdeelnaam"
#: InvenTree/validators.py:66
#, python-brace-format
@@ -575,32 +573,32 @@ msgstr "IPN moet overeenkomen met regex-patroon {pat}"
#: InvenTree/validators.py:108
#, python-brace-format
msgid "Reference must match pattern {pattern}"
-msgstr "Refernetie moet overeenkomen met patroon {pattern}"
+msgstr "Referentie moet overeenkomen met patroon {pattern}"
#: InvenTree/validators.py:116
#, python-brace-format
msgid "Illegal character in name ({x})"
-msgstr "Illegale letter in naam ({x})"
+msgstr "Illegaal teken in naam ({x})"
#: InvenTree/validators.py:137 InvenTree/validators.py:153
msgid "Overage value must not be negative"
-msgstr "Overschrijdingswaarde mag niet negatief zijn"
+msgstr "Overschotwaarde mag niet negatief zijn"
#: InvenTree/validators.py:155
msgid "Overage must not exceed 100%"
-msgstr "Dekking mag niet groter zijn dan 100%"
+msgstr "Overschot mag niet groter zijn dan 100%"
#: InvenTree/validators.py:162
msgid "Invalid value for overage"
-msgstr ""
+msgstr "Ongeldige waarde voor overschot"
#: InvenTree/views.py:537
msgid "Delete Item"
-msgstr "Verwijder item"
+msgstr "Verwijder Artikel"
#: InvenTree/views.py:586
msgid "Check box to confirm item deletion"
-msgstr "Selectievakje aanvinken om de verwijdering van items te bevestigen"
+msgstr "Selectievakje aanvinken om verwijdering van artikel te bevestigen"
#: InvenTree/views.py:601 templates/InvenTree/settings/user.html:22
msgid "Edit User Information"
@@ -620,62 +618,54 @@ msgstr "Systeeminformatie"
#: barcodes/api.py:55 barcodes/api.py:156
msgid "Must provide barcode_data parameter"
-msgstr "De paramenter barcode_data moet worden aangeleverd"
+msgstr "De parameter barcode_data moet worden aangeleverd"
#: barcodes/api.py:132
msgid "No match found for barcode data"
-msgstr "Geen overeenkomst gevonden voor barcode gegevens"
+msgstr "Geen overeenkomst gevonden voor streepjescodegegevens"
#: barcodes/api.py:134
msgid "Match found for barcode data"
-msgstr "Overeenkomst gevonden voor barcode gegevens"
+msgstr "Overeenkomst gevonden voor streepjescodegegevens"
#: barcodes/api.py:159
msgid "Must provide stockitem parameter"
-msgstr "Moet voorraaditem parameter aanleveren"
+msgstr "Moet voorraadartikelparameter aanleveren"
#: barcodes/api.py:166
msgid "No matching stock item found"
-msgstr "Geen overeenkomend voorraaditem gevonden"
+msgstr "Geen overeenkomend voorraadartikel gevonden"
#: barcodes/api.py:197
msgid "Barcode already matches Stock Item"
-msgstr ""
+msgstr "Streepjescode komt al overeen met Voorraadartikel"
#: barcodes/api.py:201
msgid "Barcode already matches Stock Location"
-msgstr "Barcode komt al overeen met vooraad locatie"
+msgstr "Streepjescode komt al overeen met Voorraadlocatie"
#: barcodes/api.py:205
msgid "Barcode already matches Part"
-msgstr "Barcode komt al overeen met onderdeel"
+msgstr "Streepjescode komt al overeen met Onderdeel"
#: barcodes/api.py:211 barcodes/api.py:223
msgid "Barcode hash already matches Stock Item"
-msgstr ""
+msgstr "Streepjescode hash komt al overeen met Voorraadartikel"
#: barcodes/api.py:229
msgid "Barcode associated with Stock Item"
-msgstr ""
-
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Annuleren bevestigen"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Bevestig annulering van de build"
+msgstr "Streepjescode gekoppeld aan Voorraadartikel"
#: build/models.py:135
msgid "Invalid choice for parent build"
-msgstr "Ongeldige keuze voor bovenliggende build"
+msgstr "Ongeldige keuze voor bovenliggende productie"
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
-msgstr "Productie-opdracht"
+msgstr "Productieopdracht"
#: build/models.py:140 build/templates/build/build_base.html:13
#: build/templates/build/index.html:8 build/templates/build/index.html:12
@@ -685,43 +675,42 @@ msgstr "Productie-opdracht"
#: templates/InvenTree/search.html:139
#: templates/InvenTree/settings/sidebar.html:45 users/models.py:44
msgid "Build Orders"
-msgstr "Productie-opdrachten"
+msgstr "Productieopdrachten"
#: build/models.py:200
msgid "Build Order Reference"
-msgstr "Productie-opdracht referentie"
+msgstr "Productieopdracht Referentie"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Referentie"
#: build/models.py:212
msgid "Brief description of the build"
-msgstr "Korte beschrijving van de build"
+msgstr "Korte beschrijving van de productie"
#: build/models.py:221 build/templates/build/build_base.html:169
#: build/templates/build/detail.html:87
msgid "Parent Build"
-msgstr "Bovenliggende bouw"
+msgstr "Bovenliggende Productie"
#: build/models.py:222
msgid "BuildOrder to which this build is allocated"
-msgstr "Productie-opdracht waar dit product aan is toegewezen"
+msgstr "Productieopdracht waar dit productie aan is toegewezen"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,42 +721,42 @@ msgstr "Productie-opdracht waar dit product aan is toegewezen"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Onderdeel"
#: build/models.py:235
msgid "Select part to build"
-msgstr "Selecteer onderdeel om te bouwen"
+msgstr "Selecteer onderdeel om te produceren"
#: build/models.py:240
msgid "Sales Order Reference"
-msgstr "Verkooporder referentie"
+msgstr "Verkooporder Referentie"
#: build/models.py:244
msgid "SalesOrder to which this build is allocated"
-msgstr "Verkooporder waar dit product aan is toegewezen"
+msgstr "Verkooporder waar deze productie aan is toegewezen"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
-msgstr "Bron Locatie"
+msgstr "Bronlocatie"
#: build/models.py:253
msgid "Select location to take stock from for this build (leave blank to take from any stock location)"
-msgstr "Selecteer de locatie waar de voorraad van de build vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)"
+msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet komen (laat leeg om vanaf elke standaard locatie te nemen)"
#: build/models.py:258
msgid "Destination Location"
@@ -779,11 +768,11 @@ msgstr "Selecteer locatie waar de voltooide items zullen worden opgeslagen"
#: build/models.py:266
msgid "Build Quantity"
-msgstr "Bouwkwaliteit"
+msgstr "Productiehoeveelheid"
#: build/models.py:269
msgid "Number of stock items to build"
-msgstr "Aantal voorraaditems om te bouwen"
+msgstr "Aantal voorraaditems om te produceren"
#: build/models.py:273
msgid "Completed items"
@@ -795,36 +784,36 @@ msgstr "Aantal voorraadartikelen die zijn voltooid"
#: build/models.py:279
msgid "Build Status"
-msgstr "Bouwstatus"
+msgstr "Productiestatus"
#: build/models.py:283
msgid "Build status code"
-msgstr "Bouwstatuscode"
+msgstr "Productiestatuscode"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
-msgstr ""
+msgstr "Batchcode"
#: build/models.py:291 build/serializers.py:224
msgid "Batch code for this build output"
-msgstr ""
+msgstr "Batchcode voor deze productieuitvoer"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Aanmaakdatum"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Verwachte opleveringsdatum"
#: build/models.py:299
msgid "Target date for build completion. Build will be overdue after this date."
-msgstr ""
+msgstr "Doeldatum voor productie voltooiing. Productie zal achterstallig zijn na deze datum."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Opleveringsdatum"
@@ -832,7 +821,7 @@ msgstr "Opleveringsdatum"
msgid "completed by"
msgstr "voltooid door"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Uitgegeven door"
@@ -842,20 +831,20 @@ msgstr "Gebruiker die de productie-opdracht heeft gegeven"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Verantwoordelijke"
#: build/models.py:326
msgid "User responsible for this build order"
-msgstr "Gebruiker verantwoordelijk voor deze productie-opdracht"
+msgstr "Gebruiker verantwoordelijk voor deze productieopdracht"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,103 +852,102 @@ msgstr "Externe Link"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Opmerkingen"
#: build/models.py:337
msgid "Extra build notes"
-msgstr "Opmerkingen over de bouw"
+msgstr "Opmerkingen over de productie"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
-msgstr "Geen bouwuitvoer opgegeven"
+msgstr "Geen productie uitvoer opgegeven"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
-msgstr "Bouwuitvoer is al voltooid"
+msgstr "Productie uitvoer is al voltooid"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
-msgstr "Product komt niet overeen met de productie-opdracht"
+msgstr "Product komt niet overeen met de Productieopdracht"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
-msgstr ""
+msgstr "Productieartikel moet een productieuitvoer specificeren, omdat het hoofdonderdeel gemarkeerd is als traceerbaar"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden"
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "Voorraad item is te veel toegewezen"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
-msgstr "Toewijzingsaantal moet groter zijn dan nul"
+msgstr "Toewijzing hoeveelheid moet groter zijn dan nul"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "Geselecteerd voorraadartikel niet gevonden in stuklijst"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Product"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
-msgstr "Bouw om onderdelen toe te wijzen"
+msgstr "Product om onderdelen toe te wijzen"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Voorraadartikel"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Bron voorraadartikel"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,247 +955,262 @@ msgstr "Bron voorraadartikel"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
-msgstr "Aantal"
+msgstr "Hoeveelheid"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
-msgstr "Voorraad hoeveelheid te alloceren aan bouw"
+msgstr "Voorraad hoeveelheid toe te wijzen aan productie"
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Installeren in"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Bestemming voorraadartikel"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
-msgstr ""
+msgstr "Productieuitvoer"
#: build/serializers.py:150
msgid "Build output does not match the parent build"
-msgstr ""
+msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie"
#: build/serializers.py:154
msgid "Output part does not match BuildOrder part"
-msgstr ""
+msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel"
#: build/serializers.py:158
msgid "This build output has already been completed"
-msgstr ""
+msgstr "Deze productieuitvoer is al voltooid"
#: build/serializers.py:169
msgid "This build output is not fully allocated"
-msgstr ""
+msgstr "Deze productieuitvoer is niet volledig toegewezen"
#: build/serializers.py:194
msgid "Enter quantity for build output"
-msgstr "Voer hoeveelheid in voor build-output"
+msgstr "Voer hoeveelheid in voor productie uitvoer"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
-msgstr ""
+msgstr "Hoeveelheid moet groter zijn dan nul"
#: build/serializers.py:213
msgid "Integer quantity required for trackable parts"
-msgstr ""
+msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen"
#: build/serializers.py:216
msgid "Integer quantity required, as the bill of materials contains trackable parts"
-msgstr ""
+msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat"
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Serienummers"
#: build/serializers.py:231
msgid "Enter serial numbers for build outputs"
-msgstr "Voer serienummers in voor build-outputs"
+msgstr "Voer serienummers in voor productieuitvoeren"
#: build/serializers.py:245
msgid "Auto Allocate Serial Numbers"
-msgstr ""
+msgstr "Serienummers automatisch toewijzen"
#: build/serializers.py:246
msgid "Automatically allocate required items with matching serial numbers"
-msgstr ""
+msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers"
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
-msgstr ""
+msgstr "De volgende serienummers bestaan al"
#: build/serializers.py:333 build/serializers.py:406
msgid "A list of build outputs must be provided"
-msgstr ""
+msgstr "Een lijst van productieuitvoeren moet worden verstrekt"
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Locatie"
#: build/serializers.py:377
msgid "Location for completed build outputs"
-msgstr ""
+msgstr "Locatie van voltooide productieuitvoeren"
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
-msgstr ""
+msgstr "Status"
#: build/serializers.py:389
msgid "Accept Incomplete Allocation"
-msgstr ""
+msgstr "Incomplete Toewijzing Accepteren"
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
-msgstr ""
+msgid "Complete outputs if stock has not been fully allocated"
+msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen"
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr "Toegewezen Voorraad Verwijderen"
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr "Verminder alle voorraad die al is toegewezen aan deze productie"
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr "Verwijder Incomplete Uitvoeren"
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid"
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
-msgstr ""
+msgstr "Accepteer Niet-toegewezen"
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
-msgstr ""
+msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder"
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
-msgstr ""
+msgstr "Vereiste voorraad is niet volledig toegewezen"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
-msgstr ""
+msgstr "Accepteer Onvolledig"
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
-msgstr ""
+msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid"
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
-msgstr ""
+msgstr "Vereiste productiehoeveelheid is voltooid"
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
-msgstr ""
+msgstr "Productieorder heeft onvolledige uitvoeren"
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
-msgstr ""
+msgstr "Er zijn geen productuitvoeren aangemaakt voor deze productieorder"
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
-msgstr ""
+msgstr "Stuklijstartikel"
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
-msgstr ""
+msgstr "Productieuitvoer"
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
-msgstr ""
+msgstr "Productieuitvoer moet naar dezelfde productie wijzen"
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
-msgstr ""
+msgstr "bom_item.part moet naar hetzelfde onderdeel wijzen als de productieorder"
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
-msgstr ""
+msgstr "Artikel moet op voorraad zijn"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
-msgstr ""
+msgstr "Beschikbare hoeveelheid ({q}) overschreden"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
-msgstr ""
+msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen"
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
-msgstr ""
+msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen"
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
-msgstr ""
+msgstr "Dit voorraadartikel is al toegewezen aan deze productieoutput"
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
-msgstr ""
+msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)"
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
-msgstr ""
+msgstr "Locatie uitsluiten"
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
-msgstr ""
+msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten"
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
-msgstr ""
+msgstr "Uitwisselbare voorraad"
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
-msgstr ""
+msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt"
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
-msgstr ""
+msgstr "Vervangende Voorraad"
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
-msgstr ""
+msgstr "Toewijzing van vervangende onderdelen toestaan"
#: build/tasks.py:98
msgid "Stock required for build order"
-msgstr ""
+msgstr "Voorraad vereist voor productieorder"
#: build/templates/build/build_base.html:39
#: order/templates/order/order_base.html:28
@@ -1217,75 +1220,74 @@ msgstr "Afdruk acties"
#: build/templates/build/build_base.html:43
msgid "Print build order report"
-msgstr ""
+msgstr "Print productieorderrapport"
#: build/templates/build/build_base.html:50
msgid "Build actions"
-msgstr "Build acties"
+msgstr "Productie acties"
#: build/templates/build/build_base.html:54
msgid "Edit Build"
-msgstr "Bewerk Build"
+msgstr "Bewerk Productie"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
-msgstr "Annuleer Build"
+msgstr "Annuleer Productie"
#: build/templates/build/build_base.html:59
msgid "Delete Build"
-msgstr "Verwijder bouw"
+msgstr "Verwijder Productie"
#: build/templates/build/build_base.html:64
#: build/templates/build/build_base.html:65
msgid "Complete Build"
-msgstr "Voltooi Build"
+msgstr "Voltooi Productie"
#: build/templates/build/build_base.html:87
msgid "Build Description"
-msgstr ""
+msgstr "Productiebeschrijving"
#: build/templates/build/build_base.html:101
#, python-format
msgid "This Build Order is allocated to Sales Order %(link)s"
-msgstr "Deze productie-opdracht is toegewezen aan verkooporder %(link)s"
+msgstr "Deze Productieopdracht is toegewezen aan verkooporder %(link)s"
#: build/templates/build/build_base.html:108
#, python-format
msgid "This Build Order is a child of Build Order %(link)s"
-msgstr "Deze productie-opdracht is een onderdeel van productie-opdracht %(link)s"
+msgstr "Deze Productieopdracht is een onderdeel van Productieopdracht %(link)s"
#: build/templates/build/build_base.html:115
msgid "Build Order is ready to mark as completed"
-msgstr "Productie-opdracht is gereed om te markeren als voltooid"
+msgstr "Productieopdracht is gereed om te markeren als voltooid"
#: build/templates/build/build_base.html:120
msgid "Build Order cannot be completed as outstanding outputs remain"
-msgstr "Productie-opdracht kan niet worden voltooid omdat er nog producties openstaan"
+msgstr "Productieopdracht kan niet worden voltooid omdat er nog uitvoeren openstaan"
#: build/templates/build/build_base.html:125
msgid "Required build quantity has not yet been completed"
-msgstr "Vereiste bouwhoeveelheid is nog niet bereikt"
+msgstr "Vereiste Producthoeveelheid is nog niet bereikt"
#: build/templates/build/build_base.html:130
msgid "Stock has not been fully allocated to this Build Order"
-msgstr "Voorraad is niet volledig toegewezen aan deze productie-opdracht"
+msgstr "Voorraad is niet volledig toegewezen aan deze productieopdracht"
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Streefdatum"
#: build/templates/build/build_base.html:156
#, python-format
msgid "This build was due on %(target)s"
-msgstr "Deze bouw was verwacht op %(target)s"
+msgstr "Deze productie was verwacht op %(target)s"
#: build/templates/build/build_base.html:156
#: build/templates/build/build_base.html:201
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Voltooid"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Verkooporder"
@@ -1322,26 +1324,22 @@ msgstr "Verkooporder"
msgid "Issued By"
msgstr "Uitgegeven door"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
-msgstr "Onvolledige bouwuitvoer"
+msgstr "Onvolledige Productieuitvoeren"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
-msgstr "Productie-opdracht kan niet worden voltooid omdat er onvoltooide producten openstaan"
-
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Weet je zeker dat je de bouw wilt annuleren?"
+msgstr "Productieopdracht kan niet worden voltooid omdat er onvoltooide productieuitvoeren openstaan"
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
-msgstr ""
+msgstr "Weet je zeker dat je deze productie wilt verwijderen?"
#: build/templates/build/detail.html:15
msgid "Build Details"
-msgstr "Build details"
+msgstr "Productie details"
#: build/templates/build/detail.html:38
msgid "Stock Source"
@@ -1349,10 +1347,10 @@ msgstr "Voorraadbron"
#: build/templates/build/detail.html:43
msgid "Stock can be taken from any available location."
-msgstr ""
+msgstr "Voorraad kan worden genomen van elke beschikbare locatie."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Bestemming"
@@ -1362,23 +1360,23 @@ msgstr "Bestemmingslocatie niet opgegeven"
#: build/templates/build/detail.html:73
msgid "Allocated Parts"
-msgstr "Toegewezen onderdelen"
+msgstr "Toegewezen Onderdelen"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
-msgstr ""
+msgstr "Batch"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Gecreëerd"
@@ -1388,48 +1386,48 @@ msgstr "Geen doeldatum ingesteld"
#: build/templates/build/detail.html:146
msgid "Build not complete"
-msgstr ""
+msgstr "Productie niet compleet"
#: build/templates/build/detail.html:157 build/templates/build/sidebar.html:17
msgid "Child Build Orders"
-msgstr ""
+msgstr "Onderliggende Productieorders"
#: build/templates/build/detail.html:172
msgid "Allocate Stock to Build"
msgstr "Voorraad toewijzen aan Product"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
-msgstr "Niet toegewezen voorraad"
+msgstr "Voorraadtoewijzing ongedaan maken"
#: build/templates/build/detail.html:177
msgid "Unallocate Stock"
-msgstr "Niet toegewezen voorraad"
+msgstr "Voorraadtoewijzing ongedaan maken"
#: build/templates/build/detail.html:179
msgid "Automatically allocate stock to build"
-msgstr ""
+msgstr "Automatisch voorraad toewijzen aan productie"
#: build/templates/build/detail.html:180
msgid "Auto Allocate"
-msgstr ""
+msgstr "Automatisch Toewijzen"
#: build/templates/build/detail.html:182
msgid "Manually allocate stock to build"
-msgstr ""
+msgstr "Handmatig voorraad toewijzen aan productie"
#: build/templates/build/detail.html:183 build/templates/build/sidebar.html:8
msgid "Allocate Stock"
-msgstr ""
+msgstr "Voorraad Toewijzen"
#: build/templates/build/detail.html:186
msgid "Order required parts"
-msgstr ""
+msgstr "Vereiste onderdelen bestellen"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Onderdelen bestellen"
@@ -1451,35 +1449,35 @@ msgstr ""
#: build/templates/build/detail.html:229
msgid "Incomplete Build Outputs"
-msgstr ""
+msgstr "Onvolledige Productieuitvoeren"
#: build/templates/build/detail.html:233
msgid "Create new build output"
-msgstr ""
+msgstr "Nieuwe productieuitvoer aanmaken"
#: build/templates/build/detail.html:234
msgid "New Build Output"
-msgstr ""
+msgstr "Nieuwe Productieuitvoer"
#: build/templates/build/detail.html:248
msgid "Output Actions"
-msgstr ""
+msgstr "Uitvoer Acties"
#: build/templates/build/detail.html:252
msgid "Complete selected build outputs"
-msgstr ""
+msgstr "Voltooi geselecteerde productieuitvoeren"
#: build/templates/build/detail.html:253
msgid "Complete outputs"
-msgstr ""
+msgstr "Voltooi uitvoeren"
#: build/templates/build/detail.html:255
msgid "Delete selected build outputs"
-msgstr ""
+msgstr "Voltooi geselecteerde productieuitvoeren"
#: build/templates/build/detail.html:256
msgid "Delete outputs"
-msgstr ""
+msgstr "Verwijder uitvoeren"
#: build/templates/build/detail.html:263
#: stock/templates/stock/location.html:188 templates/stock_table.html:27
@@ -1493,15 +1491,15 @@ msgstr "Labels afdrukken"
#: build/templates/build/detail.html:274
msgid "Expand all build output rows"
-msgstr ""
+msgstr "Uitklappen van alle productieuitvoerrijen"
#: build/templates/build/detail.html:278
msgid "Collapse all build output rows"
-msgstr ""
+msgstr "Samenvouwen van alle productieuitvoerrijen"
#: build/templates/build/detail.html:295
msgid "Completed Build Outputs"
-msgstr ""
+msgstr "Voltooide Productieuitvoeren"
#: build/templates/build/detail.html:307 build/templates/build/sidebar.html:19
#: order/templates/order/po_sidebar.html:9
@@ -1515,71 +1513,67 @@ msgstr "Bijlagen"
#: build/templates/build/detail.html:322
msgid "Build Notes"
-msgstr "Bouw notities"
+msgstr "Productie notities"
#: build/templates/build/detail.html:502
msgid "Allocation Complete"
-msgstr ""
+msgstr "Toewijzing Voltooid"
#: build/templates/build/detail.html:503
msgid "All untracked stock items have been allocated"
-msgstr ""
+msgstr "Alle niet gevolgde voorraadartikelen zijn toegewezen"
#: build/templates/build/index.html:18 part/templates/part/detail.html:311
msgid "New Build Order"
-msgstr ""
+msgstr "Nieuwe Productieopdracht"
#: build/templates/build/index.html:37 build/templates/build/index.html:38
msgid "Print Build Orders"
-msgstr ""
+msgstr "Print Productieopdrachten"
#: build/templates/build/index.html:44
#: order/templates/order/purchase_orders.html:34
#: order/templates/order/sales_orders.html:37
msgid "Display calendar view"
-msgstr ""
+msgstr "Toon Kalenderweergave"
#: build/templates/build/index.html:47
#: order/templates/order/purchase_orders.html:37
#: order/templates/order/sales_orders.html:40
msgid "Display list view"
-msgstr ""
+msgstr "Toon Lijstweergave"
#: build/templates/build/sidebar.html:5
msgid "Build Order Details"
-msgstr ""
+msgstr "Productieopdracht Details"
#: build/templates/build/sidebar.html:15
msgid "Completed Outputs"
-msgstr ""
+msgstr "Voltooide Uitvoeren"
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
-msgstr ""
+msgstr "Verwijder Productieopdracht"
#: common/files.py:65
msgid "Unsupported file format: {ext.upper()}"
-msgstr ""
+msgstr "Niet-ondersteunde bestandsindeling: {ext.upper()}"
#: common/files.py:67
msgid "Error reading file (invalid encoding)"
-msgstr ""
+msgstr "Fout bij lezen bestand (ongeldige codering)"
#: common/files.py:72
msgid "Error reading file (invalid format)"
-msgstr ""
+msgstr "Fout bij lezen bestand (ongeldig formaat)"
#: common/files.py:74
msgid "Error reading file (incorrect dimension)"
-msgstr ""
+msgstr "Fout bij lezen bestand (onjuiste afmeting)"
#: common/files.py:76
msgid "Error reading file (data could be corrupted)"
-msgstr ""
+msgstr "Fout bij lezen bestand (gegevens kunnen beschadigd zijn)"
#: common/forms.py:34
msgid "File"
@@ -1591,863 +1585,855 @@ msgstr "Selecteer bestand om te uploaden"
#: common/forms.py:50
msgid "{name.title()} File"
-msgstr ""
+msgstr "{name.title()} Bestand"
#: common/forms.py:51
#, python-brace-format
msgid "Select {name} file to upload"
msgstr "Kies {name} bestand om te uploaden"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
-msgstr ""
+msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig)"
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
-msgstr "Waarde van de instelling"
+msgstr "Instellingswaarde"
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr "Gekozen waarde is geen geldige optie"
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "Waarde moet een booleaanse waarde zijn"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr "Waarde moet een geheel getal zijn"
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr "Sleutelreeks moet uniek zijn"
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
-msgstr ""
+msgstr "Geen groep"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
-msgstr ""
+msgstr "Opnieuw opstarten vereist"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
-msgstr ""
+msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is"
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
-msgstr ""
+msgstr "ID Serverinstantie"
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
-msgstr "String-beschrijving voor de server instantie"
+msgstr "Stringbeschrijving voor de server instantie"
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr "Gebruik de instantie naam"
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr "Gebruik de naam van de instantie in de titelbalk"
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
-msgstr ""
+msgstr "Tonen `over` beperken"
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Bedrijfsnaam"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Interne bedrijfsnaam"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
-msgstr "Basis URL"
+msgstr "Basis-URL"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "Basis URL voor serverinstantie"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
-msgstr "Standaard valuta"
+msgstr "Standaard Valuta"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Standaard valuta"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Download van URL"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
-msgstr "Barcode ondersteuning"
+msgstr "Streepjescodeondersteuning"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
-msgstr "Barcodescanner ondersteuning inschakelen"
+msgstr "Streepjescodescanner ondersteuning inschakelen"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
-msgstr ""
+msgstr "IPN Regex"
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
-msgstr "Reguliere expressiepatroon voor het corresponderen van deel IPN"
+msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN"
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
-msgstr "Dubbele IPN toestaan"
+msgstr "Duplicaat IPN toestaan"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Bewerken IPN toestaan"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
-msgstr ""
+msgstr "Kopieer Onderdeel Stuklijstgegevens"
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
-msgstr ""
+msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel"
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
-msgstr ""
+msgstr "Kopieer Onderdeel Parametergegevens"
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
-msgstr ""
+msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
-msgstr ""
+msgstr "Kopieer Onderdeel Testdata"
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
-msgstr ""
+msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel"
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
-msgstr ""
+msgstr "Kopiëer Categorieparameter Sjablonen"
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
-msgstr ""
+msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel"
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
-msgstr ""
+msgstr "Sjabloon"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
-msgstr ""
+msgstr "Onderdelen zijn standaard sjablonen"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Samenstelling"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
-msgstr "Onderdelen kunnen standaard vanuit andere delen worden samengesteld"
+msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld"
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
-msgstr ""
+msgstr "Component"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
-msgstr ""
+msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten"
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Koopbaar"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Onderdelen kunnen standaard gekocht worden"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Verkoopbaar"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Onderdelen kunnen standaard verkocht worden"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Volgbaar"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Onderdelen kunnen standaard gevolgd worden"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtueel"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Onderdelen zijn standaard virtueel"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
-msgstr "Toon Import in weergaven"
+msgstr "Toon Import in Weergaven"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
-msgstr ""
+msgstr "Toon de importwizard in sommige onderdelenweergaven"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Toon Prijs in Formulieren"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
-msgstr "Toon onderdeel prijs in sommige formulieren"
+msgstr "Toon onderdeelprijs in sommige formulieren"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
-msgstr ""
+msgstr "Prijs in Stuklijst Weergeven"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
-msgstr ""
+msgstr "Prijsinformatie in Stuklijsttabellen opnemen"
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
-msgstr "Toon prijsgeschiedenis"
+msgstr "Toon Prijsgeschiedenis"
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
-msgstr "Toon historische prijzen voor onderdeel"
+msgstr "Toon historische prijzen voor Onderdeel"
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "Verwante onderdelen tonen"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr "Verwante onderdelen voor een onderdeel tonen"
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr "Eerste voorraad aanmaken"
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr "Aanmaken eerste voorraad bij het maken van onderdeel"
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
-msgstr "Interne prijzen"
+msgstr "Interne Prijzen"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
-msgstr ""
+msgstr "Inschakelen van interne prijzen voor onderdelen"
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
-msgstr ""
+msgstr "Interne Prijs als Stuklijst Prijs"
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
-msgstr ""
+msgstr "Gebruik de interne prijs (indien ingesteld) in stuklijst prijsberekeningen"
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
-msgstr ""
+msgstr "Onderdelennaam Weergaveopmaak"
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
-msgstr ""
+msgstr "Opmaak om de onderdeelnaam weer te geven"
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
-msgstr "Activeer rapporteringen"
+msgstr "Activeer Rapportages"
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr "Activeer het genereren van rapporten"
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Foutopsporingsmodus"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr "Rapporten genereren in debug modus (HTML uitvoer)"
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Paginagrootte"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "Standaard paginagrootte voor PDF rapporten"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
-msgstr "Testrapport"
+msgstr "Testrapporten"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr "Activeer het genereren van testrapporten"
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
-msgstr ""
+msgstr "Batchcode Sjabloon"
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
-msgstr ""
+msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen"
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
-msgstr "Verlopen voorraad"
+msgstr "Verlopen Voorraad"
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr "Verlopen voorraad functionaliteit inschakelen"
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
-msgstr "Verkoop verlopen voorraad"
+msgstr "Verkoop Verlopen Voorraad"
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr "Verkoop verlopen voorraad toestaan"
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
-msgstr ""
+msgstr "Voorraad Vervaltijd"
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "dagen"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr "Instellingssleutel (moet uniek zijn - hoofdletter ongevoelig"
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr "Contact e-mailadres"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "Link naar externe bedrijfsinformatie"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Afbeelding"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Fabriceert dit bedrijf onderdelen?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr "Fabrikant"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Fabrikant selecteren"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Fabrikant artikel nummer (MPN)"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr "URL voor externe link van het fabrikant onderdeel"
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr "Omschrijving onderdeel fabrikant"
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "Fabrikant onderdeel"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Waarde"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "Parameterwaarde"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Eenheden"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel"
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Leverancier"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Leverancier selecteren"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr "Selecteer fabrikant onderdeel"
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Opmerking"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "basisprijs"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr "Minimale kosten (bijv. voorraadkosten)"
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr "Fabrikanten"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "Fabrikant onderdeel bewerken"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "Fabrikant onderdeel verwijderen"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Standaard locatie"
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -4936,7 +4818,7 @@ msgstr ""
#: part/templates/part/detail.html:114 stock/templates/stock/item.html:58
msgid "Sales Order Allocations"
-msgstr "Toewijzingen verkoopopdracht"
+msgstr "Verkoopopdracht Toewijzingen"
#: part/templates/part/detail.html:136
msgid "Part Notes"
@@ -4996,7 +4878,7 @@ msgstr ""
#: part/templates/part/detail.html:273
msgid "New BOM Item"
-msgstr "Nieuw stuklijstitem"
+msgstr "Nieuw Stuklijstartikel"
#: part/templates/part/detail.html:274
msgid "Add BOM Item"
@@ -5004,7 +4886,7 @@ msgstr ""
#: part/templates/part/detail.html:287
msgid "Assemblies"
-msgstr "Samenstellingen"
+msgstr "Assemblages"
#: part/templates/part/detail.html:305
msgid "Part Builds"
@@ -5012,7 +4894,7 @@ msgstr ""
#: part/templates/part/detail.html:332 stock/templates/stock/item.html:43
msgid "Build Order Allocations"
-msgstr "Productie-opdracht toewijzingen"
+msgstr "Productieopdracht Toewijzingen"
#: part/templates/part/detail.html:348
msgid "Part Suppliers"
@@ -5020,11 +4902,11 @@ msgstr ""
#: part/templates/part/detail.html:376
msgid "Part Manufacturers"
-msgstr "Fabrikanten"
+msgstr "Onderdeelfabrikanten"
#: part/templates/part/detail.html:392
msgid "Delete manufacturer parts"
-msgstr "Fabrikant onderdeel verwijderen"
+msgstr "Fabrikantonderdeel verwijderen"
#: part/templates/part/detail.html:595
msgid "Delete selected BOM items?"
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5184,11 +5066,11 @@ msgstr ""
#: part/templates/part/part_base.html:120
msgid "Part can be assembled from other parts"
-msgstr "Onderdeel kan vanuit andere delen worden samengesteld"
+msgstr "Onderdeel kan vanuit andere onderdelen worden samengesteld"
#: part/templates/part/part_base.html:124
msgid "Part can be used in assemblies"
-msgstr "Onderdeel kan gebruikt worden voor samenstellingen"
+msgstr "Onderdeel kan gebruikt worden voor assemblages"
#: part/templates/part/part_base.html:128
msgid "Part stock is tracked by serial number"
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr "Er zijn %(count)s fabrikanten gedefinieerd voor dit onderdeel. Als u dit
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Serienummer"
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6302,7 +6181,7 @@ msgstr ""
#: stock/templates/stock/item_base.html:46 templates/stock_table.html:21
msgid "Scan to Location"
-msgstr "Scan naar locatie"
+msgstr "Scan naar Locatie"
#: stock/templates/stock/item_base.html:54
msgid "Printing actions"
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,9 +6327,9 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
-msgstr "Geen Locatie ingesteld"
+msgstr "Geen locatie ingesteld"
#: stock/templates/stock/item_base.html:308
msgid "Barcode Identifier"
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr "Geen fabrikant geselecteerd"
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6520,7 +6399,7 @@ msgstr "Maak nieuwe voorraadlocatie"
#: stock/templates/stock/location.html:82
msgid "New Location"
-msgstr "Nieuwe locatie"
+msgstr "Nieuwe Locatie"
#: stock/templates/stock/location.html:100
#: stock/templates/stock/location.html:106
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr "Bewerk voorraadlocatie"
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
-msgstr "QR-code voor voorraadlocatie"
+msgstr "QR-code voor Voorraadlocatie"
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr "Specificeer een geldige locatie"
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "Maak nieuwe voorraadlocatie"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
-msgstr "Verwijder voorraadlocatie"
+msgstr "Verwijder Voorraadlocatie"
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -7985,11 +7824,11 @@ msgstr ""
#: templates/js/translated/bom.js:319
msgid "Include Manufacturer Data"
-msgstr "Voeg fabrikantgegevens toe"
+msgstr "Voeg Fabrikantgegevens toe"
#: templates/js/translated/bom.js:320
msgid "Include part manufacturer data in exported BOM"
-msgstr "Voeg fabrikantgegevens toe aan geëxporteerde BOM"
+msgstr "Voeg onderdeelfabrikantgegevens toe aan geëxporteerde stuklijst"
#: templates/js/translated/bom.js:325
msgid "Include Supplier Data"
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Weet je zeker dat je de productie wilt annuleren?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
-msgstr "Productie-opdracht is onvolledig"
+msgstr "Productieopdracht is onvolledig"
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "De stuklijst bevat traceerbare onderdelen"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
-msgstr ""
+msgstr "Productieuitvoeren moeten individueel worden gegenereerd"
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "Traceerbare onderdelen kunnen een serienummer hebben"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
-msgstr "Voer serienummers in om meerdere bouw-outputs te genereren"
+msgstr "Voer serienummers in om meerdere enkelvoudige productuitvoeren te genereren"
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
-msgstr ""
+msgstr "Selecteer Productieuitvoeren"
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
-msgstr ""
+msgstr "Voltooi Productieuitvoeren"
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
-msgstr ""
+msgstr "Verwijder Productieuitvoeren"
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr "Locatie is niet opgegeven"
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
-msgstr ""
+msgstr "Geen actieve productieuitvoeren gevonden"
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Voorraadtoewijzing bewerken"
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Voorraadtoewijzing verwijderen"
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Toegewezen"
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr "Voorraad toewijzen"
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Onderdelen selecteren"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr "Er moet op zijn minst één onderdeel toegewezen worden"
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr "Selecteer bron locatie (laat het veld leeg om iedere locatie te gebruiken)"
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8374,17 +8230,17 @@ msgstr "Fabrikant toevoegen"
#: templates/js/translated/company.js:78 templates/js/translated/company.js:177
msgid "Add Manufacturer Part"
-msgstr "Fabrikant onderdeel toevoegen"
+msgstr "Fabrikantonderdeel toevoegen"
#: templates/js/translated/company.js:99
msgid "Edit Manufacturer Part"
-msgstr "Fabrikant onderdeel bewerken"
+msgstr "Fabrikantonderdeel bewerken"
#: templates/js/translated/company.js:108
msgid "Delete Manufacturer Part"
-msgstr "Fabrikant onderdeel verwijderen"
+msgstr "Fabrikantonderdeel verwijderen"
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8410,7 +8266,7 @@ msgstr ""
#: templates/js/translated/company.js:372
msgid "Parts Manufactured"
-msgstr "Gefabriceerde onderdelen"
+msgstr "Gefabriceerde Onderdelen"
#: templates/js/translated/company.js:387
msgid "No company information found"
@@ -8418,15 +8274,15 @@ msgstr ""
#: templates/js/translated/company.js:406
msgid "The following manufacturer parts will be deleted"
-msgstr "De volgende fabricage onderdelen worden verwijderd"
+msgstr "De volgende fabrikantenonderdelen worden verwijderd"
#: templates/js/translated/company.js:423
msgid "Delete Manufacturer Parts"
-msgstr "Verwijder fabricage onderdelen"
+msgstr "Verwijder Fabrikantenonderdelen"
#: templates/js/translated/company.js:480
msgid "No manufacturer parts found"
-msgstr "Geen fabricage onderdelen gevonden"
+msgstr "Geen fabrikantenonderdelen gevonden"
#: templates/js/translated/company.js:500
#: templates/js/translated/company.js:757 templates/js/translated/part.js:565
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
-msgstr "Onderdeelnummer fabrikant"
+msgstr "Onderdeelnummer Fabrikant"
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Bevestig de voorraadtoewijzing"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr "Bewerk Voorraadlocatie"
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "Geen voorraadlocatie ingesteld"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -9768,7 +9730,7 @@ msgstr ""
#: templates/js/translated/table_filters.js:169
msgid "Part is an assembly"
-msgstr "Samengesteld onderdeel"
+msgstr "Onderdeel is een assemblage"
#: templates/js/translated/table_filters.js:173
msgid "Is allocated"
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/no/LC_MESSAGES/django.po b/InvenTree/locale/no/LC_MESSAGES/django.po
index 28ee737304..d657d48852 100644
--- a/InvenTree/locale/no/LC_MESSAGES/django.po
+++ b/InvenTree/locale/no/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Norwegian\n"
"Language: no_NO\n"
@@ -33,9 +33,8 @@ msgstr "Ingen samsvarende handling funnet"
msgid "Enter date"
msgstr "Oppgi dato"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Bekreft"
@@ -84,8 +83,7 @@ msgstr "Du må angi samme e-post hver gang."
msgid "Duplicate serial: {sn}"
msgstr "Dupliser serie: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Ugyldig mengde oppgitt"
@@ -119,8 +117,8 @@ msgstr "Ingen serienummer funnet"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Antall unike serienummer ({s}) må samsvare mengde ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Vedlegg"
msgid "Select file to attach"
msgstr "Velg fil å legge ved"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Lenke"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Lenke til ekstern URL"
@@ -160,12 +158,12 @@ msgstr "Kommenter"
msgid "File comment"
msgstr "Kommentar til fil"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Bruker"
@@ -202,27 +200,27 @@ msgstr "Feil ved endring av navn"
msgid "Invalid choice"
msgstr "Ugyldig valg"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Navn"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Navn"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Beskrivelse"
@@ -249,7 +247,7 @@ msgstr "Beskrivelse (valgfritt)"
msgid "parent"
msgstr "overkategori"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Nummer må være gyldig"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Plassert"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Fullført"
@@ -441,8 +439,8 @@ msgstr "Tapt"
msgid "Returned"
msgstr "Returnert"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Sendt"
@@ -522,7 +520,7 @@ msgstr "Delt fra overordnet element"
msgid "Split child item"
msgstr "Delt fra underelement"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "Sammenslått lagervare"
@@ -658,14 +656,6 @@ msgstr "Strekkkoden hash samsvarer allerede med lagervare"
msgid "Barcode associated with Stock Item"
msgstr "Strekkode tilknyttet lagervare"
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Bekreft avbestilling"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Bekfret build avbestilling"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr "Ugylding valg for overordnet build"
@@ -673,7 +663,7 @@ msgstr "Ugylding valg for overordnet build"
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Build ordre"
@@ -691,14 +681,14 @@ msgstr "Build Ordre"
msgid "Build Order Reference"
msgstr "Bygg ordrereferanse"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Referanse"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Build order som denne build er tildelt til"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "Build order som denne build er tildelt til"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Del"
@@ -760,8 +749,8 @@ msgstr "Salg order referanse"
msgid "SalesOrder to which this build is allocated"
msgstr "Salgorder som denne build er tildelt til"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Kilde plassering"
@@ -801,8 +790,8 @@ msgstr "Byggstatus"
msgid "Build status code"
msgstr "Byggstatuskode"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Batch kode"
@@ -810,12 +799,12 @@ msgstr "Batch kode"
msgid "Batch code for this build output"
msgstr "Batch kode for denne build output"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Opprettelsesdato"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Forventet sluttdato"
@@ -823,8 +812,8 @@ msgstr "Forventet sluttdato"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Forventet dato for ferdigstillelse. Build er forvalt etter denne datoen."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Fullført dato"
@@ -832,7 +821,7 @@ msgstr "Fullført dato"
msgid "completed by"
msgstr "fullført av"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Utstedt av"
@@ -842,10 +831,10 @@ msgstr "Brukeren som utstede denne prosjekt order"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Ansvarlig"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Bruker ansvarlig for denne prosjekt order"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Ekstern link"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Notater"
@@ -885,81 +874,80 @@ msgstr "Notater"
msgid "Extra build notes"
msgstr "Ekstra prosjekt notater"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "Ingen prosjekt utgang"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "Prosjekt utdata er allerede utfylt"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "Prosjekt utdata samsvarer ikke Prosjekt Order"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Prosjektvare må spesifisere en prosjekt utdata, siden hovedvaren er markert som sporbar"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
-msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelige lager mengde ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "Lagervare er overtildelt"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "Tildeling antallet må være større enn null"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "Mengden må væew 1 for serialisert lagervare"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "Valgt lagevare ikke funnet i BOM"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Prosjekt"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr "Bygge for å tildele deler"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Lagervare"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Kilde lagervare"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Kilde lagervare"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Antall"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Installerings informasjon"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Målets lagervare"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Angi antall for build utgang"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Mengden må være større enn null"
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Serienummer"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Beliggenhet"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr "Påkrevd varer er ikke fullt tildelt"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr "BOM varer"
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "Varen må være på lager"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Tilgjengelig mengde ({q}) overskredet"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Måldato"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Fullført"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Salgsorder"
@@ -1322,19 +1324,15 @@ msgstr "Salgsorder"
msgid "Issued By"
msgstr "Utstedt av"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Er du sikker du vil kansellere?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr "Lager kilde"
msgid "Stock can be taken from any available location."
msgstr "Lagervare kan hentes fra alle tilgengelige steder."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Destinasjon"
@@ -1366,19 +1364,19 @@ msgstr "Tildelte deler"
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Opprettet"
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "Fjern lager allokering"
@@ -1428,8 +1426,8 @@ msgstr "Bestill nødvendige deler"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Bestill deler"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr "Velg {name} fil som skal lastes opp"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr "Innstillingsnøkkel (må være unik - ufølsom for store of små bokstaver)"
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr "Valgt verdi er ikke et gyldig alternativ"
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "Verdien må være en boolsk verdi"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr "Ingen gruppe"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Omstart påkrevd"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr "En innstilling har blitt endrett som krever en serveromstart"
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Firmanavn"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Internt firmanavn"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Standardvaluta"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Standardvaluta"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Last ned fra URL"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Tilat nedlastning av eksterne bilder og filer fra ekstern URL"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Strekkode støtte"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Aktiver skrekkodeleser støtte"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Tilat duplisert IPN"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Tillat flere deler å dele samme IPN"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Tillat redigering av IPN"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "Tillat å endre IPN-verdien mens du redigerer en del"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr "Kopier testdata som standard ved duplisering av en del"
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr "Kopier kategori parametermaler ved oppretting av en del"
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Mal"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "Deler er maler som standard"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Montering"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr "Deler kan settes sammen fra andre komponenter som standard"
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Komponent"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr "Deler kan bli brukt som underkomponenter som standard"
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Kjøpbar"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Deler er kjøpbare som standard"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Salgbar"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Deler er salgbare som standard"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Sporbar"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Deler er sporbare som standard"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Virtuelle"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Deler er virtuelle som standard"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr "Vis import i visninger"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr "Vis importveiviseren i noen deler visninger"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Vis pris i skjemaer"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr "Vis delpris i noen skjemaer"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr "Salgsorder referanse prefiks"
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr "Prefiks verdi for salgsorder referanse"
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr "Salgsorder referanse prefiks"
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr "Prefiks verdi for salgsorder referanse"
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr "Aktiver passord glemt"
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr "Ativer funskjon for glemt passord på innloggingssidene"
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr "Aktiver registrering"
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene"
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "Aktiver SSO"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "Aktiver SSO på innloggingssidene"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "E-postadresse kreves"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr "Krevt at brukeren angi e-post ved registrering"
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr "Auto-utfyll SSO brukere"
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Fyll automatisk ut brukeropplysninger fra SSO kontodata"
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr "E-post to ganger"
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr "Ved registrering spør brukere to ganger for e-posten"
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr "Passord to ganger"
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr "Ved registrerting, spør brukere to ganger for passord"
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr "Gruppe for hvilke nye brukere som er tilknyttet registrering"
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr "Brukere må bruke flerfaktorsikkerhet."
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr "Aktiver URL integrering"
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr "Aktiver navigasjonsintegrering"
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr "Aktiver app integrasjon"
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr "Vis abbonerte deler"
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr "Vis abbonerte deler på hjemmesiden"
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr "Vis abbonerte kategorier"
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr "Vis abbonerte delkatekorier på hjemmesiden"
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Vis nyeste deler"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "Vis nyeste deler på hjemmesiden"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr "Antall nylig deler"
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr "Vis uvaliderte BOMs"
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr "Vis BOMs som venter validering på hjemmesiden"
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr "Vis nylige lagerendringer"
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr "Vis nylig endret lagervarer på hjemmesiden"
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr "Siste lagertelling"
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr "Antall nylige lagervarer som skal vises på indeksside"
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr "Vis lav lager"
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr "Vis lav lagervarer på hjemmesiden"
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr "Vis tom lagervarer"
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr "Aktiv"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr "Sjetong"
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr "Nøkkel for tilgang"
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr "Hemmelig"
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr "Delt hemmlighet for HMAC"
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr "Melding ID"
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr "Unik Id for denne meldingen"
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr "Vert"
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr "Tittel"
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr "Overskrift for denne meldingen"
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr "Brødtekst"
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr "Arbeidet med"
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr "Var arbeidet med denne meldingen ferdig?"
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Last opp fil"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "Beskrivelse av firma"
msgid "Description of the company"
msgstr "Beskrivelse av firmaet"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr "Nettside"
msgid "Company website URL"
msgstr "Bedriftens nettside URL"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adresse"
@@ -2593,7 +2579,7 @@ msgstr "Telefonnummer"
msgid "Contact phone number"
msgstr "Kontakt-telefonnummer"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "E-post"
@@ -2602,7 +2588,7 @@ msgstr "E-post"
msgid "Contact email address"
msgstr "Kontakt e-post"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kontakt"
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "Link til ekstern bedriftsinformasjon"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Bilde"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Produserer dette firmaet deler?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Valuta"
@@ -2652,18 +2638,18 @@ msgstr "Valuta"
msgid "Default currency used for this company"
msgstr "Standardvaluta brukt for dette firmaet"
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Last ned bilde fra URL"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Kunde"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "Bruker standardvaluta"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "Last opp bilde"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "Leverandør deler"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Oprett ny leverandørdel"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Ny leverandørdel"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr "Valgmuligheter"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Bestill deler"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr "Ny salgsorder"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr "Tildelt lagervare"
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr "Notater til firma"
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "Slett leverandørdeler?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "Alle valgte leverandørdeler vil slettes"
@@ -3018,77 +3002,81 @@ msgstr "Leverandørliste"
msgid "Manufacturers"
msgstr "Produsenter"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "Bestill del"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "Endre produsent del"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "Slett produsentdel"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "Intern del"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Leverandører"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Slett leverandørdeler"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Slett"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr "Tildelt lagervarer"
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Seriernummer eksisterer allerede"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr "Sjekk bekreftelsesboksen"
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Er du sikker du vil kansellere?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "Sporbare varer kan ha angitte serienummer"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/pl/LC_MESSAGES/django.po b/InvenTree/locale/pl/LC_MESSAGES/django.po
index 2b9c2c6f6d..bded378da5 100644
--- a/InvenTree/locale/pl/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pl/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
@@ -33,9 +33,8 @@ msgstr "Nie znaleziono pasującej akcji"
msgid "Enter date"
msgstr "Wprowadź dane"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Potwierdź"
@@ -84,8 +83,7 @@ msgstr "Należy ponownie wpisać ten sam adres e-mail."
msgid "Duplicate serial: {sn}"
msgstr "Powtórzony numer seryjny: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Podano nieprawidłową ilość"
@@ -119,8 +117,8 @@ msgstr "Nie znaleziono numerów seryjnych"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Ilość numerów seryjnych ({s}) musi odpowiadać ilości ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Załącznik"
msgid "Select file to attach"
msgstr "Wybierz plik do załączenia"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Łącze"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Link do zewnętrznego adresu URL"
@@ -160,12 +158,12 @@ msgstr "Komentarz"
msgid "File comment"
msgstr "Komentarz pliku"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Użytkownik"
@@ -202,27 +200,27 @@ msgstr "Błąd zmiany nazwy pliku"
msgid "Invalid choice"
msgstr "Błędny wybór"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Nazwa"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Nazwa"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Opis"
@@ -249,7 +247,7 @@ msgstr "Opis (opcjonalny)"
msgid "parent"
msgstr "nadrzędny"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Numer musi być prawidłowy"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Umieszczony"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Zakończono"
@@ -441,8 +439,8 @@ msgstr "Zagubiono"
msgid "Returned"
msgstr "Zwrócone"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Wysłane"
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr "Podziel element podrzędny"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Na pewno anulować?"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Zlecenie Budowy"
@@ -691,14 +681,14 @@ msgstr "Zlecenia budowy"
msgid "Build Order Reference"
msgstr "Odwołanie do zamówienia wykonania"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Referencja"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "Zamówienie budowy, do którego budowa jest przypisana"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Komponent"
@@ -760,8 +749,8 @@ msgstr "Odwołanie do zamówienia sprzedaży"
msgid "SalesOrder to which this build is allocated"
msgstr "Zamówienie sprzedaży, do którego budowa jest przypisana"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Lokalizacja źródła"
@@ -801,8 +790,8 @@ msgstr "Status budowania"
msgid "Build status code"
msgstr "Kod statusu budowania"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Kod partii"
@@ -810,12 +799,12 @@ msgstr "Kod partii"
msgid "Batch code for this build output"
msgstr "Kod partii dla wyjścia budowy"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Data utworzenia"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Docelowy termin zakończenia"
@@ -823,8 +812,8 @@ msgstr "Docelowy termin zakończenia"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Data zakończenia"
@@ -832,7 +821,7 @@ msgstr "Data zakończenia"
msgid "completed by"
msgstr "zrealizowane przez"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Wydany przez"
@@ -842,10 +831,10 @@ msgstr "Użytkownik, który wydał to zamówienie"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Odpowiedzialny"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Użytkownik odpowiedzialny za to zamówienie budowy"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Link Zewnętrzny"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Uwagi"
@@ -885,81 +874,80 @@ msgstr "Uwagi"
msgid "Extra build notes"
msgstr "Dodatkowe notatki do budowy"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "Nie określono danych wyjściowych budowy"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "Budowanie wyjścia jest już ukończone"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "Alokowana ilość musi być większa niż zero"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Budowa"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Element magazynowy"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Lokalizacja magazynowania przedmiotu"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Lokalizacja magazynowania przedmiotu"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Ilość"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Zainstaluj do"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Docelowa lokalizacja magazynowa przedmiotu"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Ilość musi być większa niż zero"
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Numer seryjny"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Lokalizacja"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr "Akceptuj niekompletne"
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "Towar musi znajdować się w magazynie"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr "Wyklucz lokalizację"
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr "Edytuj Budowę"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "Anuluj Budowę"
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Data docelowa"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Zakończone"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Zamówienie zakupu"
@@ -1322,19 +1324,15 @@ msgstr "Zamówienie zakupu"
msgid "Issued By"
msgstr "Dodane przez"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Czy na pewno przerwać tę budowę?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr "Źródło magazynu"
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Przeznaczenie"
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr "Partia"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Utworzony"
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr "Przydziel zapasy do budowy"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "Cofnij przydział zapasów"
@@ -1428,8 +1426,8 @@ msgstr "Zamów wymagane komponenty"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Zamów komponent"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "Tworzenie zostało przerwane"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr "{name.title()} Plik"
msgid "Select {name} file to upload"
msgstr "Wybierz plik {name} do przesłania"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr "Ustawienia wartości"
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr "Wartość musi być wartością binarną"
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr "Wartość musi być liczbą całkowitą"
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr "Brak grupy"
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Wymagane ponowne uruchomienie"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr "Użyj nazwy instancji"
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Nazwa firmy"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Wewnętrzna nazwa firmy"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "Bazowy URL"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "Bazowy adres URL dla instancji serwera"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Domyślna waluta"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Domyślna waluta"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Pobierz z adresu URL"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Obsługa kodu kreskowego"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Włącz obsługę skanera kodów"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr "Wyrażenie regularne IPN"
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Zezwól na powtarzający się IPN"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Zezwól na edycję IPN"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr "Skopiuj BOM komponentu"
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Szablon"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Złożenie"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Komponent"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Możliwość zakupu"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Części są domyślnie z możliwością zakupu"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Możliwość sprzedaży"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Części są domyślnie z możliwością sprzedaży"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Możliwość śledzenia"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Części są domyślnie z możliwością śledzenia"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Wirtualny"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Części są domyślnie wirtualne"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr "Pokaż cenę w BOM"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr "Dołącz informacje cenowe w tabelach BOM"
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr "Pokaż historię cen"
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr "Ceny wewnętrzne"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr "Włącz raporty"
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Tryb Debugowania"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Rozmiar strony"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "Raporty testów"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr "Włącz generowanie raportów testów"
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "dni"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr "Włącz opcję zapomnianego hasła"
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr "Włącz funkcję zapomnianego hasła na stronach logowania"
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr "Włącz rejestrację"
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania"
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr "Włącz SSO"
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr "Włącz SSO na stronach logowania"
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "Adres e-mail jest wymagany"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr "Autouzupełnianie użytkowników SSO"
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO"
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr "E-mail dwa razy"
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail"
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr "Hasło dwukrotnie"
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło"
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr "Grupuj przy rejestracji"
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr "Wymuś MFA"
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych."
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr "Włącz integrację URL"
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr "Włącz wtyczki, aby dodać ścieżki URL"
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr "Włącz integrację z aplikacją"
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr "Włącz wtyczki, aby dodać aplikacje"
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania"
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr "Klucz ustawień (musi być unikalny - niewrażliwy na wielkość liter"
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr "Pokaż obserwowane części"
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr "Pokaż obserwowane części na stronie głównej"
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr "Pokaż obserwowane kategorie"
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr "Pokaż obserwowane kategorie części na stronie głównej"
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Pokaż najnowsze części"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "Pokaż najnowsze części na stronie głównej"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr "Pokaż niski stan magazynowy"
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr "Pokaż ilość w formularzach"
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr "Stały pasek nawigacyjny"
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr "Format daty"
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr "Preferowany format wyświetlania dat"
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr "Planowanie komponentów"
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Cena"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr "Punkt końcowy"
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr "Aktywny"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr "Sekret"
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr "Współdzielony sekret dla HMAC"
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr "Id wiadomości"
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr "Unikalny identyfikator dla tej wiadomości"
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr "Host, od którego otrzymano tę wiadomość"
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr "Nagłówek"
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr "Nagłówek tej wiadomości"
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr "Zawartość"
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Wyślij plik"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "Opis firmy"
msgid "Description of the company"
msgstr "Opis firmy"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr "Strona WWW"
msgid "Company website URL"
msgstr "Witryna internetowa firmy"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adres"
@@ -2593,7 +2579,7 @@ msgstr "Numer telefonu"
msgid "Contact phone number"
msgstr "Numer telefonu kontaktowego"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "Adres E-Mail"
@@ -2602,7 +2588,7 @@ msgstr "Adres E-Mail"
msgid "Contact email address"
msgstr "Kontaktowy adres e-mail"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Kontakt"
@@ -2614,7 +2600,7 @@ msgstr "Punkt kontaktowy"
msgid "Link to external company information"
msgstr "Link do informacji o zewnętrznym przedsiębiorstwie"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Obraz"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Czy to przedsiębiorstwo produkuje części?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Waluta"
@@ -2652,18 +2638,18 @@ msgstr "Waluta"
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Część bazowa"
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "Wybierz część"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr "Wybierz część"
msgid "Manufacturer"
msgstr "Producent"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Wybierz producenta"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Numer producenta komponentu"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "Komponent producenta"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Wartość"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Jednostki"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr "Jednostki parametru"
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Dostawca"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Wybierz dostawcę"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Uwaga"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "koszt podstawowy"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Opakowanie"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr "Opakowanie części"
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr "wielokrotność"
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr "ostatnia aktualizacja"
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr "Firma"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Utwórz zamówienie zakupu"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "Edytuj firmę"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr "Usuń firmę"
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "Usuń firmę"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Prześlij nowy obraz"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Pobierz obraz z adresu URL"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Klient"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "Używa domyślnej waluty"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "Telefon"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "Załaduj obrazek"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "Komponenty dostawcy"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Utwórz nowego dostawcę części"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Nowy dostawca części"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr "Opcje"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Zamów komponenty"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr "Notatki firmy"
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "Usunąć komponenty dostawcy?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "Wszystkie wybrane komponenty dostawcy zostaną usunięte"
@@ -3018,77 +3002,81 @@ msgstr "Lista dostawców"
msgid "Manufacturers"
msgstr "Producenci"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "Zamów komponent"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "Edytuj komponent producenta"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "Usuń komponent producenta"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "Komponent wewnętrzny"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Dostawcy"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Usuń"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Parametry"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "Nowy parametr"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr "Usuń parametry"
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr "Dodaj parametr"
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr "Wybrane parametry zostaną usunięte"
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr "Usuń parametry"
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr "Utwórz nowy towar"
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr "Nowy towar"
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr "Zamów komponent"
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Informacja cenowa"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr "Edytuj przedział cenowy"
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr "Edytuj przedział cenowy"
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr "Ostatnio aktualizowane"
@@ -3196,7 +3189,7 @@ msgstr "Ostatnio aktualizowane"
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Stan"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr "Cennik"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Towary"
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr "Złóż zamówienie"
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr "Oznacz zamówienie jako zakończone"
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Anuluj zamówienie"
-
#: order/models.py:130
msgid "Order description"
msgstr "Opis Zamówienia"
@@ -3371,280 +3351,285 @@ msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie"
msgid "Order notes"
msgstr "Notatki do zamówienia"
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr "Odniesienie zamówienia"
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr "Status zamówienia zakupu"
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr "odebrane przez"
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr "Data wydania"
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr "Data wystawienia zamówienia"
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr "Data Dostawy Towaru"
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr "Wartość musi być liczbą dodatnią"
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr "Data wysyłki"
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr "wysłane przez"
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr "Ilość elementów"
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr "Zamówienie"
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr "Zlecenie zakupu"
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr "Odebrane"
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "Cena zakupu"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr "Cena zakupu jednostkowego"
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr "Gdzie kupujący chce przechowywać ten przedmiot?"
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr "Cena sprzedaży"
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr "Jednostkowa cena sprzedaży"
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr "Wysłana ilość"
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr "Data wysyłki"
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr "Sprawdzone przez"
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr "Użytkownik, który sprawdził tę wysyłkę"
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr "Numer przesyłki"
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr "Notatki do przesyłki"
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr "Numer śledzenia"
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr "Informacje o śledzeniu przesyłki"
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr "Przesyłka została już wysłana"
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie"
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr "Linia"
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr "Przesyłka"
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr "Komponent"
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr "Zamówienie nie może zostać anulowane"
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr "Jesteś pewien, że chcesz usunąć ten załącznik?"
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr "Edytuj zamówienie"
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Anuluj zamówienie"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr "Złóż zamówienie"
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr "Oznacz zamówienie jako zakończone"
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr "Kompletne zamówienie"
@@ -3793,51 +3810,35 @@ msgstr "Opis zamówienia"
msgid "Order Status"
msgstr "Status zamówienia"
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr "Niekompletny"
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr "Wydany"
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr "Edytuj zamówienie zakupu"
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr "Oznacz zamówienie jako zakończone?"
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr "Wybierz dostawcę części"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Usuń wiersz"
@@ -3884,64 +3886,6 @@ msgstr "Prześlij plik do zamówienia zakupu"
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr "Wybierz dostawców"
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "Wybierz dostawcę"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr "Brak ceny"
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr "Wybierz dostawcę dla %(name)s"
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr "Usuń część"
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr "Przedmioty"
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr "Otrzymane elementy"
msgid "Order Notes"
msgstr "Notatki zamówień"
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "Ostrzeżenie"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr "Oczekujące przesyłki"
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr "Akcje"
@@ -4056,69 +3991,24 @@ msgstr "Akcje"
msgid "New Shipment"
msgstr "Nowa wysyłka"
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "Anuluj zamówienie"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr "Potwierdź anulowanie zamówienia"
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr "Zamówienie nie może zostać anulowane"
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr "Anuluj zamówienie sprzedaży"
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr "Zaktualizuj ceny"
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr "Nie znaleziono ceny"
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr "To pole jest wymagane"
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Domyślna lokalizacja"
@@ -4191,15 +4081,15 @@ msgstr "W Zamówieniu"
msgid "Select part category"
msgstr "Wybierz kategorię części"
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr "Domyślne słowa kluczowe"
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Kategoria komponentu"
@@ -4232,7 +4122,7 @@ msgstr "Kategorie części"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Części"
@@ -4241,411 +4131,411 @@ msgstr "Części"
msgid "Invalid choice for parent part"
msgstr "Nieprawidłowy wybór dla części nadrzędnej"
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr "Część '{p1}' jest używana w BOM dla '{p2}' (rekursywne)"
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "Nazwa komponentu"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr "Czy szablon"
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr "Czy ta część jest wariantem innej części?"
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr "Wariant"
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Opis komponentu"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Słowa kluczowe"
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Kategoria"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Wersja"
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr "Domyślne wygasanie"
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimalny stan magazynowy"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr "Czy ten komponent może być zbudowany z innych komponentów?"
-#: part/models.py:971
+#: part/models.py:966
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:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr "Czy ta część jest aktywna?"
-#: part/models.py:997
+#: part/models.py:992
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:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr "Tworzenie użytkownika"
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr "Sprzedaj wiele"
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Nazwa testu"
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr "Testowy opis"
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr "Wprowadź opis do tego testu"
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Wymagane"
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr "Wymaga wartości"
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr "Wymaga załącznika"
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr "Część nadrzędna"
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr "Dane"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr "Wartość parametru"
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr "Wartość domyślna"
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "ID komponentu"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr "Unikalny wartość ID komponentu"
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr "Nazwa komponentu"
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr "IPN komponentu"
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr "Wartość IPN części"
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr "Poziom"
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr "Wybierz część nadrzędną"
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr "Podczęść"
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr "Opcjonalne"
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr "Ten element BOM jest opcjonalny"
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr "Notatki pozycji BOM"
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr "Suma kontrolna"
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "Dziedziczone"
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Zezwalaj na warianty"
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr "Część zastępcza"
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr "Część 1"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr "Część 2"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr "Wybierz powiązaną część"
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr "Ścieżka kategorii"
msgid "Top level part category"
msgstr "Kategoria najwyższego poziomu"
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Podkategorie"
@@ -4826,39 +4716,31 @@ msgstr "Nowy komponent"
msgid "Set category"
msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "Ustaw kategorię"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr "Drukuj etykiety"
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr "Eksportuj"
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr "Eksportuj dane"
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr "Parametry części"
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr "Utwórz nową kategorię części"
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr "Utwórz część"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr "Utwórz kolejną część po tej"
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr "Część utworzona pomyślnie"
@@ -5046,26 +4928,26 @@ msgstr "Powiązane części"
msgid "Add Related Part"
msgstr "Dodaj powiązaną część"
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr "Nieaktywny"
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr "Na stanie"
@@ -5269,7 +5151,7 @@ msgstr "Oblicz"
msgid "No matching images found"
msgstr "Nie znaleziono pasujących obrazów"
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr "Ukryj szczegóły części"
@@ -5384,7 +5266,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5459,6 +5341,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr "Usuń część"
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5580,27 +5466,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr "Edytuj kategorię części"
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5608,7 +5490,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5620,34 +5520,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr "Konfiguracja wtyczki"
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr "Konfiguracja wtyczek"
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr "Klucz"
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr "Klucz wtyczki"
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr "Nazwa wtyczki"
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr "Czy wtyczka jest aktywna"
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr "Wtyczka"
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr "Włącz PO"
@@ -5805,17 +5709,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Numer Seryjny"
@@ -5836,7 +5744,7 @@ msgstr "Wynik"
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr "Data"
@@ -5854,67 +5762,25 @@ msgid "Installed Items"
msgstr "Zainstalowane elementy"
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr "Numer seryjny"
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr "Data ważności"
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr "Data ważności tego zasobu"
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr "Numery seryjne"
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr "Potwierdź odinstalowanie"
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr "Właściciel"
@@ -6016,6 +5882,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr "Data ważności"
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6090,7 +5961,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6159,7 +6030,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6171,7 +6042,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Numer seryjny już istnieje"
@@ -6187,63 +6058,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr "Część musi być dostępna do sprzedaży"
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6284,17 +6163,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6413,7 +6292,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr "Ostatnia aktualizacja"
@@ -6450,7 +6329,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr "Lokacje nie są ustawione"
@@ -6466,20 +6345,20 @@ msgstr "Element nadrzędny"
msgid "No manufacturer set"
msgstr "Nie ustawiono producenta"
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr "Testy"
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr "Tylko do odczytu"
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6600,11 +6479,7 @@ msgstr ""
msgid "Child Items"
msgstr "Elementy podrzędne"
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6617,6 +6492,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "Ostrzeżenie"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6625,95 +6504,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr "Wróć do stanu magazynowego"
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr "Usuń wszystkie dane testowe"
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "Utwórz nową lokalizację magazynową"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr "Ilość nie może być ujemna"
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6848,7 +6687,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7093,41 +6932,41 @@ msgstr ""
msgid "Report Settings"
msgstr "Ustawienia raportu"
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr "Nie ustawiono wartości"
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr "Edytuj ustawienie"
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr "Edytuj ustawienie wtyczki"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr "Edytuj ustawienie globalne"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr "Edytuj ustawienie użytkownika"
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "Nie znaleziono szablonów parametrów kategorii"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr "Edytuj szablon"
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr "Usuń szablon"
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr "Nie znaleziono szablonów parametrów części"
@@ -7418,7 +7257,7 @@ msgstr "Ustawienia strony głównej"
msgid "Label Settings"
msgstr "Ustawienia etykiet"
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7428,10 +7267,10 @@ msgstr "Informacje o wersji InvenTree"
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Zamknij"
@@ -7708,8 +7547,8 @@ msgstr "Wymagana ilość"
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7744,11 +7583,11 @@ msgstr "Zdalny serwer musi być dostępny"
msgid "Remote image must not exceed maximum allowable file size"
msgstr "Zewnętrzne zdjęcie nie może przekraczać maksymalnego dopuszczalnego rozmiaru pliku"
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr "Brak odpowiedzi"
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr "Brak odpowiedzi z serwera InvenTree"
@@ -7760,27 +7599,27 @@ msgstr "Błąd 400: Błędne żądanie"
msgid "API request returned error code 400"
msgstr "Żądanie interfejsu API zwróciło kod błędu 400"
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr "Błąd 401: Nieuwierzytelniony"
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr "Dane uwierzytelniające nie zostały dostarczone"
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr "Błąd 403: Odmowa dostępu"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr "Nie masz uprawnień wymaganych do dostępu do tej funkcji"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr "Błąd 404: Nie znaleziono zasobu"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr "Żądany zasób nie mógł być zlokalizowany na serwerze"
@@ -7792,11 +7631,11 @@ msgstr "Błąd 405: Metoda nie jest dozwolona"
msgid "HTTP method not allowed at URL"
msgstr "Metoda HTTP nie jest dozwolona pod tym adresem URL"
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr "Błąd 408: Przekroczony limit czasu"
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr "Limit czasu połączenia podczas żądania danych z serwera"
@@ -7848,89 +7687,89 @@ msgstr "Wprowadź dane kodu kreskowego"
msgid "Barcode"
msgstr "Kod kreskowy"
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr "Wprowadź notatki"
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr "Błąd serwera"
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr "Nieznana odpowiedź serwera"
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr "Niepoprawna odpowiedź serwera"
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr "Zeskanuj dane kodu kreskowego poniżej"
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr "Zeskanuj kod kreskowy"
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr "Brak adresu URL w odpowiedzi"
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr "Rozłącz"
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr "Sprawdź"
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7947,12 +7786,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr "Wybierz format pliku"
@@ -8036,24 +7875,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8093,7 +7932,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8101,7 +7940,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8109,267 +7948,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Czy na pewno przerwać tę budowę?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr "Ostatni numer seryjny"
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr "Utwórz zlecenie budowy"
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr "Wyjście"
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr "Ilość za"
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr "Przydzielono"
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Wybierz części"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr "Wybierz"
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "Brak informacji o użytkowniku"
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr "Brak informacji"
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8389,7 +8245,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr "Dodaj dostawcę"
@@ -8503,61 +8359,61 @@ msgstr "Wyczyść wszystkie filtry"
msgid "Create filter"
msgstr "Utwórz filtr"
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr "Działanie zabronione"
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr "Operacja utworzenia nie jest dozwolona"
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr "Operacja aktualizacji nie jest dozwolona"
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr "Operacja usuwania nie jest dozwolona"
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr "Operacja przeglądania nie jest dozwolona"
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr "Pozostaw ten formularz otwarty"
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr "Wprowadź poprawny numer"
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Istnieją błędy formularza"
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr "Nie znaleziono wyników"
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr "Wyszukiwanie"
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr "Wyczyść wejście"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr "Kolumna pliku"
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr "Nazwa pola"
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr "Wybór Kolumn"
@@ -8578,7 +8434,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr "Wybierz przedmioty magazynowe"
@@ -8631,62 +8487,62 @@ msgstr ""
msgid "Select Label Template"
msgstr "Wybierz szablon etykiety"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "Anuluj"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Zatwierdź"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr "Tytuł formularza"
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr "Oczekiwanie na serwer..."
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr "Pokaż informacje o błędzie"
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr "Zaakceptuj"
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr "Wczytywanie danych"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr "Niepoprawna odpowiedź serwera"
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr "Brak danych formularza z odpowiedzi serwera"
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr "Błąd podczas wysyłania danych formularza"
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr "Brak danych w formularzu odpowiedzi JSON"
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr "400: Nieprawidłowe zapytanie"
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr "Serwer zwrócił kod błędu 400"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr "Błąd podczas żądania danych formularza"
@@ -8711,19 +8567,20 @@ msgstr ""
msgid "Order ID"
msgstr "ID zamówienia"
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr "ID wysyłki"
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr "ID kategorii"
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr "ID części dostawcy"
@@ -8743,280 +8600,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr "Oznacz zamówienie jako zakończone?"
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr "Kod zamówienia"
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr "Zamówione"
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr "Ilość do otrzymania"
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr "Potwierdź odbiór elementów"
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr "Przedmioty"
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr "Razem"
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr "Cena całkowita"
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr "Nie znaleziono zamówień sprzedaży"
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr "Nieprawidłowy klient"
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr "Edytuj wysyłkę"
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr "Kompletna wysyłka"
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr "Usuń wysyłkę"
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr "Edytuj wysyłkę"
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr "Usuń wysyłkę"
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr "Nie odnaleziono pasujących przesyłek"
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr "Numer referencyjny przesyłki"
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr "Nie wysłano"
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr "Śledzenie"
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Potwierdź przydział zapasów"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr "Cena zakupu"
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr "Oblicz cenę"
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr "Zaktualizuj cenę jednostkową"
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9100,6 +9038,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr "Edytuj kategorię części"
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr "Edytuj część"
@@ -9193,8 +9135,8 @@ msgstr ""
msgid "No category"
msgstr "Brak kategorii"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr "Wyświetl jako listę"
@@ -9202,75 +9144,75 @@ msgstr "Wyświetl jako listę"
msgid "Display as grid"
msgstr "Wyświetl jako siatkę"
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr "Wyświetl jako drzewo"
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr "Obserwowana kategoria"
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr "Ścieżka"
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr "Nie znaleziono informacji o ${human_name}"
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr "Edytuj ${human_name}"
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr "Usuń ${human_name}"
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr "Cena jednostkowa"
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9352,340 +9294,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr "Przenieś"
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr "Weź"
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr "Dodaj stan"
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr "Dodaj"
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr "Usuń stan magazynowy"
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr "BRAK WYNIKÓW"
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr "Dodaj wynik testu"
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr "W produkcji"
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr "Kod statusu musi być wybrany"
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr "Szczegóły"
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr "Lokalizacja już nie istnieje"
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr "Zamówienie zakupu już nie istnieje"
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr "Klient już nie istnieje"
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr "Element magazynowy już nie istnieje"
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr "Dodano"
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr "Usunięto"
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10203,35 +10165,35 @@ msgstr "Uprawnienia"
msgid "Important dates"
msgstr "Ważne daty"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "Uprawnienia nadane"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "Grupa"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Widok"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Uprawnienie do wyświetlania przedmiotów"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Uprawnienie do dodawania przedmiotów"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "Zmień"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Uprawnienie do edycji przedmiotów"
-#: users/models.py:220
+#: users/models.py:221
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 1b366e8ca3..511ea23746 100644
--- a/InvenTree/locale/pt/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
@@ -33,9 +33,8 @@ msgstr "Nenhuma ação correspondente encontrada"
msgid "Enter date"
msgstr "Insira uma Data"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Confirmar"
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -249,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/pt_br/LC_MESSAGES/django.po b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
index b22d6fe870..22a6d652b4 100644
--- a/InvenTree/locale/pt_br/LC_MESSAGES/django.po
+++ b/InvenTree/locale/pt_br/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
+"POT-Creation-Date: 2022-05-02 23:27+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/InvenTree/locale/ru/LC_MESSAGES/django.po b/InvenTree/locale/ru/LC_MESSAGES/django.po
index b0ea095a9d..ed9d6c1baa 100644
--- a/InvenTree/locale/ru/LC_MESSAGES/django.po
+++ b/InvenTree/locale/ru/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
@@ -33,9 +33,8 @@ msgstr "Соответствующее действие не найдено"
msgid "Enter date"
msgstr "Введите дату"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Подтвердить"
@@ -84,8 +83,7 @@ msgstr "Вы должны вводить один и тот же адрес эл
msgid "Duplicate serial: {sn}"
msgstr "Повторяющийся серийный номер: {sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "недопустимое количество"
@@ -119,8 +117,8 @@ msgstr "Серийных номеров не найдено"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Число уникальных серийных номеров ({s}) должно соответствовать количеству ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Вложения"
msgid "Select file to attach"
msgstr "Выберите файл для вложения"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Ссылка"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Ссылка на внешний URL"
@@ -160,12 +158,12 @@ msgstr "Комментарий"
msgid "File comment"
msgstr "Комментарий к файлу"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Пользователь"
@@ -202,27 +200,27 @@ msgstr "Ошибка переименования файла"
msgid "Invalid choice"
msgstr "Неверный выбор"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Название"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Название"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Описание"
@@ -249,7 +247,7 @@ msgstr "Описание (необязательно)"
msgid "parent"
msgstr "родитель"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Должно быть действительным номером"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Размещены"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Готово"
@@ -441,8 +439,8 @@ msgstr "Потерян"
msgid "Returned"
msgstr "Возвращено"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Доставлено"
@@ -522,7 +520,7 @@ msgstr "Отделить от родительского элемента"
msgid "Split child item"
msgstr "Разбить дочерний элемент"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "Объединенные позиции на складе"
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "Подтвердите отмену"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Подтвердите отмену сборки"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr "Неверный выбор для родительской сборки"
@@ -673,7 +663,7 @@ msgstr "Неверный выбор для родительской сборки
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Порядок сборки"
@@ -691,14 +681,14 @@ msgstr "Порядок сборки"
msgid "Build Order Reference"
msgstr "Ссылка на заказ"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Отсылка"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Детали"
@@ -760,8 +749,8 @@ msgstr "Отсылка на заказ"
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Расположение источника"
@@ -801,8 +790,8 @@ msgstr "Статус сборки"
msgid "Build status code"
msgstr "Код статуса сборки"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Код партии"
@@ -810,12 +799,12 @@ msgstr "Код партии"
msgid "Batch code for this build output"
msgstr "Код партии для этого вывода сборки"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Дата создания"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Целевая дата завершения"
@@ -823,8 +812,8 @@ msgstr "Целевая дата завершения"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Целевая дата для сборки. Сборка будет просрочена после этой даты."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Дата завершения"
@@ -832,7 +821,7 @@ msgstr "Дата завершения"
msgid "completed by"
msgstr "выполнено"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Выдал/ла"
@@ -842,10 +831,10 @@ msgstr "Пользователь, выпустивший этот заказ н
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Ответственный"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Пользователь, ответственный за этот заказ сборки"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Внешняя ссылка"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Заметки"
@@ -885,81 +874,80 @@ msgstr "Заметки"
msgid "Extra build notes"
msgstr "Дополнительные заметки к сборке"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "Вывод сборки не указан"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "Вывод сборки уже завершен"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "Вывод сборки не совпадает с порядком сборки"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Элемент сборки должен указать вывод сборки, так как основная часть помечена как отслеживаемая"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
-msgstr "Выделенное количество ({q}) не должно превышать доступное количество на складе ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
+msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "Предмет на складе перераспределен"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "Выделенное количество должно быть больше нуля"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "Количество должно быть 1 для сериализованных запасов"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr "Выбранная единица хранения не найдена в BOM"
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Сборка"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Предметы на складе"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Исходный складской предмет"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Исходный складской предмет"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Количество"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Введите количество для вывода сборки"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr "Количество должно быть больше нуля"
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Серийные номера"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Расположение"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "Статус"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr "BOM Компонент"
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr "Компонент должен быть в наличии"
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr "Превышено доступное количество ({q})"
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr "Редактировать сборку"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "Отменить сборку"
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Целевая дата"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Завершённые"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Заказ покупателя"
@@ -1322,19 +1324,15 @@ msgstr "Заказ покупателя"
msgid "Issued By"
msgstr "Выдано"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "Незавершенные выходные данные"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "Вы уверены, что хотите отменить эту сборку?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr "Вы уверены, что хотите удалить эту сборку?"
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Назначение"
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr "Партия"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Создано"
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Заказать детали"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "Сборка была отменена"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "Удалить заказ на сборку"
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr "Выберите {name} файл для загрузки"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr "Требуется перезапуск"
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Название компании"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "Внутреннее название компании"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "Базовая ссылка"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr "Базовая ссылка для экземпляра сервера"
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Валюта по умолчанию"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Валюта по умолчанию"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "Скачать по ссылке"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Разрешить повторяющиеся IPN"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "Разрешить редактирование IPN"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Шаблон"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "По умолчанию детали являются шаблонами"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Сборка"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Компонент"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Можно продавать"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Отслеживание"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "По умолчанию детали являются отслеживаемыми"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Показывать цену в формах"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr "Показывать цену в BOM"
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr "Показывать историю цены"
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "Показывать связанные детали"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Режим отладки"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr "Необходимо указать EMail"
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr "Показывать детали, на которые включены уведомления"
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr "Показывать детали, на которые включены уведомления, на главной странице"
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr "Показывать категории, на которые включены уведомления"
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr "Показывать категории, на которые включены уведомления, на главной странице"
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Показывать последние детали"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "Показывать последние детали на главной странице"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr "Показывать непроверенные BOMы"
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr "Показывать BOMы, ожидающие проверки, на главной странице"
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr "Показывать изменившиеся складские запасы"
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr "Показывать единицы хранения с недавно изменившимися складскими запасами на главной странице"
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr "Показывать низкие складские запасы"
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr "Показывать единицы хранения с низкими складскими запасами на главной странице"
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr "Показывать закончившиеся детали"
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr "Показывать закончившиеся на складе единицы хранения на главной странице"
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr "Показывать требуемые детали"
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr "Показывать требуемые для сборки единицы хранения на главной странице"
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr "Показывать просрочку"
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr "Показывать единицы хранения с истёкшим сроком годности на главной странице"
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr "Показывать залежалые"
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr "Показывать залежалые единицы хранения на главной странице"
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr "Показывать незавершённые сборки"
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr "Показывать незавершённые сборки на главной странице"
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr "Показывать просроченные сборки"
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr "Показывать просроченные сборки на главной странице"
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr "Включить уведомления по электронной почте"
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr "Разрешить отправку уведомлений о событиях по электронной почте"
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Цена"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Загрузить файл"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "Описание компании"
msgid "Description of the company"
msgstr "Описание компании"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr "Сайт"
msgid "Company website URL"
msgstr "Сайт компании"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Адрес"
@@ -2593,7 +2579,7 @@ msgstr "Телефон"
msgid "Contact phone number"
msgstr "Контактный телефон"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "EMail"
@@ -2602,7 +2588,7 @@ msgstr "EMail"
msgid "Contact email address"
msgstr "Контактный EMail"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "Контакт"
@@ -2614,7 +2600,7 @@ msgstr "Контактное лицо"
msgid "Link to external company information"
msgstr "Ссылка на описание компании"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Изображение"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Является ли компания производителем деталей?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Валюта"
@@ -2652,18 +2638,18 @@ msgstr "Валюта"
msgid "Default currency used for this company"
msgstr "Для этой компании используется валюта по умолчанию"
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Базовая деталь"
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "Выберите деталь"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr "Выберите деталь"
msgid "Manufacturer"
msgstr "Производитель"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Выберите производителя"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Код производителя"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr "Ссылка на сайт производителя"
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "Деталь производителя"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr "Наименование параметра"
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Значение"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "Значение параметра"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "Ед.изм"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr "Единицы измерения"
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Поставщик"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Выберите поставщика"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr "Код поставщика"
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr "Ссылка на сайт поставщика"
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Заметка"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Упаковка"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr "Компания"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Создать заказ на закупку"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr "Действия с компанией"
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr "Редактировать информацию о компании"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "Редактировать компанию"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr "Удалить компанию"
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "Удалить компанию"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "Загрузить новое изображение"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "Скачать изображение по ссылке"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Покупатель"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "Использовать валюту по умолчанию"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "Телефон"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "Загрузить изображение"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "Детали поставщиков"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Создать новую деталь поставщика"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Новая деталь поставщика"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr "Настройки"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "Заказать детали"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr "Новый заказ на продажу"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr "Заметки о компании"
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "Удалить деталь поставщика?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "Все выбранные детали поставщика будут удалены"
@@ -3018,77 +3002,81 @@ msgstr "Список поставщиков"
msgid "Manufacturers"
msgstr "Производители"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "Поставщики"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Удалить деталь поставщика"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "Удалить"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "Параметры"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "Новый параметр"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr "Удалить параметры"
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr "Добавить параметр"
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr "Удалить параметры"
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr "Деталь поставщика"
@@ -3125,66 +3114,70 @@ msgstr "Редактировать деталь поставщика"
msgid "Delete supplier part"
msgstr "Удалить деталь поставщика"
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr "Создать единицу хранения"
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr "Новая единица хранения"
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Информация о цене"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr "Последнее обновление"
@@ -3196,7 +3189,7 @@ msgstr "Последнее обновление"
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Склад"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Детали на складе"
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Отменить заказ"
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr "Компания, в которой детали заказываются"
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr "Компания, которой детали продаются"
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr "Заказ на закупку"
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "Закупочная цена"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr "Цена продажи"
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr "Курс покупки валюты"
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr "Введите код партии для поступающих единиц хранения"
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество"
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr "Курс продажи валюты"
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr "Действия с заказом"
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Отменить заказ"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr "Редактировать заказ на закупку"
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr "Отмена этого заказа означает, что заказ и его элементы нельзя будет редактировать."
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr "Выберите деталь поставщика"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "Удалить строку"
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr "Шаг 1 из 2 - Выберите поставщиков деталей"
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr "Выбрать поставщиков"
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "Выбрать поставщика"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr "Нет цены"
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr "Выберите поставщика для %(name)s"
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr "Удалить деталь"
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr "Шаг 2 из 2 - Выберите заказы на закупку"
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr "Выберите заказ на закупку"
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "Предупреждение"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать."
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr "Действия"
@@ -4056,69 +3991,24 @@ msgstr "Действия"
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "Отменить заказ"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr "Отменить заказ на продажу"
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr "Заказано {n} деталей"
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr "Заказ на продажу не найден"
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr "Цена не найдена"
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Место хранения по умолчанию"
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr "Выберите категорию"
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr "Ключевые слова по умолчанию"
msgid "Default keywords for parts in this category"
msgstr "Ключевые слова по умолчанию для деталей этой категории"
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "Категория детали"
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Детали"
@@ -4241,411 +4131,411 @@ msgstr "Детали"
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "Наименование детали"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr "Шаблон"
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr "Эта деталь является шаблоном для других деталей?"
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr "Эта деталь является разновидностью другой детали?"
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr "Разновидность"
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Описание детали"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Ключевые слова"
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr "Ключевые слова для улучшения видимости в результатах поиска"
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "Категория"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr "Категория"
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr "Внутренний код детали"
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr "Версия детали"
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Версия"
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr "Где обычно хранится эта деталь?"
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Минимальный запас"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr "Минимально допустимый складской запас"
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr "Может ли эта деталь быть создана из других деталей?"
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr "Может ли эта деталь использоваться для создания других деталей?"
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr "Является ли каждый экземпляр этой детали уникальным, обладающим серийным номером?"
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr "Может ли эта деталь быть закуплена у внешних поставщиков?"
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr "Может ли эта деталь быть продана покупателям?"
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr "Эта деталь актуальна?"
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr "Эта деталь виртуальная, как программный продукт или лицензия?"
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr "Заметки о детали (поддерживается разметка Markdown)"
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr "Родительская деталь"
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr "Шаблон параметра"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr "Артикул или наименование детали"
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "Артикул"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr "Наименование детали"
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr "IPN"
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr "Значение IPN"
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr "Выберите родительскую деталь"
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr "Выбрать деталь для использования в BOM"
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Разрешить разновидности"
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr "Для отслеживаемых деталей количество должно быть целым числом"
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr "Часть 1"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr "Часть 2"
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr "Путь к категории"
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Подкатегории"
@@ -4826,39 +4716,31 @@ msgstr "Новая деталь"
msgid "Set category"
msgstr "Укажите категорию"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "Укажите категорию"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr "Параметры детали"
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr "Создать категорию деталей"
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr "Создать деталь"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr "Создать ещё одну деталь после этой"
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr "Деталь создана успешно"
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr "Эта деталь является разновидностью %(link)s"
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr "На складе"
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr "Подходящие изображения не найдены"
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr "Удалить деталь"
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr "Редактировать категорию"
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr "Удалить категорию"
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr "Категория удалена"
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr "Включить уведомления по электронной почте"
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr "Разрешить отправку уведомлений о событиях по электронной почте"
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr "Автор не найден"
msgid "No date found"
msgstr "Дата не найдена"
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Серийный номер"
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Серийные номера уже существуют"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr "Выбранная деталь отсутствует в спецификации"
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr "Выбранная компания не является покупателем"
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr "Установленные единицы хранения"
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr "Установить единицу хранения"
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr "Родительский элемент"
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr "Места хранения"
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "Предупреждение"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr "Идентификатор"
@@ -7091,41 +6930,41 @@ msgstr "Настройки заказа на закупку"
msgid "Report Settings"
msgstr "Настройки отчётов"
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr "Изменить настройки"
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr "Изменить настройки плагинов"
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr "Изменить глобальные настройки"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr "Изменить настройки пользователя"
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "Шаблоны параметров категории не найдены"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr "Редактировать шаблон"
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr "Удалить шаблон"
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr "Шаблоны параметров детали не найдены"
@@ -7416,7 +7255,7 @@ msgstr "Настройки главной страницы"
msgid "Label Settings"
msgstr "Настройки меток"
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr "Настройки уведомлений"
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr "Удалённый сервер должен быть доступен"
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr "Ошибка 400: Некорректный запрос"
msgid "API request returned error code 400"
msgstr "API-запрос вернул код ошибки 400"
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr "Ошибка 401: Авторизация не выполнена"
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr "Ошибка 403: Доступ запрещён"
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr "У вас нет прав доступа к этой функции"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr "Ошибка 404: Ресурс не найден"
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr "Ошибка 405: Метод не разрешён"
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr "Ошибка 408: Таймаут"
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr "Ошибка сервера"
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr "Скачать шаблон BOM"
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr "Редактировать элемент BOM"
msgid "Delete BOM Item"
msgstr "Удалить элемент BOM"
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr "Элементы BOM не найдены"
@@ -8096,7 +7935,7 @@ msgstr "Элементы BOM не найдены"
msgid "Are you sure you want to delete this BOM item?"
msgstr "Вы уверены, что хотите удалить этот элемент BOM?"
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr "Унаследовано от родительского BOM"
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr "Редактировать заказ на сборку"
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr "Создать заказ на сборку"
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "Вы уверены, что хотите отменить эту сборку?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "Спецификация содержит отслеживаемые детали"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "Отслеживаемые детали могут иметь серийные номера"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr "Редактировать деталь производителя"
msgid "Delete Manufacturer Part"
msgstr "Удалить деталь производителя"
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr "Добавить поставщика"
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr "Операция создания не разрешена"
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr "Операция обновления не разрешена"
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr "Операция удаления не разрешена"
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr "Операция просмотра не разрешена"
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr "Форма содержит ошибки"
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr "Не найдено"
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "Отменить"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr "Подтвердить"
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr "Ошибка отправки данных формы"
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr "Ошибка 400: Некорректный запрос"
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr "Сервер вернул код ошибки 400"
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr "Ошибка запроса данных формы"
@@ -8706,19 +8562,20 @@ msgstr "Код сборки"
msgid "Order ID"
msgstr "Код заказа"
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr "Код категории"
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr "Код детали производителя"
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr "Код детали поставщика"
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr "Отмена этого заказа означает, что заказ нельзя будет редактировать."
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr "Добавить код партии"
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr "Заказов на закупку не найдено"
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr "Общая стоимость"
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr "Заказы на продажу не найдены"
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Подтвердите выделение запасов"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr "Родительская категория"
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr "Редактировать категорию"
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr "Нет категории"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr "Список"
@@ -9197,75 +9139,75 @@ msgstr "Список"
msgid "Display as grid"
msgstr "Таблица"
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr "Дерево"
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr "Путь"
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr "Создано несколько единиц хранения"
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr "Предупреждение: Операция объединения не может быть отменена"
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr "Следующие данные будут потеряны в процессе объединения"
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr "История складских перемещений будет удалена для объединённых элементов"
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr "Информация о деталях поставщика будет удалена для объединённых элементов"
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr "Права доступа"
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "Права доступа"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Вид"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Разрешение на просмотр элементов"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Разрешение на добавление элементов"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Разрешение на редактирование элементов"
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr "Разрешение на удаление элементов"
diff --git a/InvenTree/locale/sv/LC_MESSAGES/django.po b/InvenTree/locale/sv/LC_MESSAGES/django.po
index 377ef96325..b59e640385 100644
--- a/InvenTree/locale/sv/LC_MESSAGES/django.po
+++ b/InvenTree/locale/sv/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
@@ -33,9 +33,8 @@ msgstr "Ingen matchande åtgärd hittades"
msgid "Enter date"
msgstr "Ange datum"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Bekräfta"
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Ogiltigt antal angivet"
@@ -119,7 +117,7 @@ msgstr "Inga serienummer hittades"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr "Bilaga"
msgid "Select file to attach"
msgstr "Välj fil att bifoga"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr "Kommentar"
msgid "File comment"
msgstr "Fil kommentar"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Användare"
@@ -202,27 +200,27 @@ msgstr "Fel vid namnbyte av fil"
msgid "Invalid choice"
msgstr "Ogiltigt val"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Namn"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Namn"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Beskrivning"
@@ -249,7 +247,7 @@ msgstr "Beskrivning (valfritt)"
msgid "parent"
msgstr "överordnad"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Måste vara ett giltigt nummer"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Placerad"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Slutför"
@@ -441,8 +439,8 @@ msgstr "Förlorad"
msgid "Returned"
msgstr "Återlämnad"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Skickad"
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/th/LC_MESSAGES/django.po b/InvenTree/locale/th/LC_MESSAGES/django.po
index ec6c1a301e..f711635e28 100644
--- a/InvenTree/locale/th/LC_MESSAGES/django.po
+++ b/InvenTree/locale/th/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:29\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Thai\n"
"Language: th_TH\n"
@@ -33,9 +33,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr ""
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr ""
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr ""
@@ -249,7 +247,7 @@ msgstr ""
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr ""
@@ -691,14 +681,14 @@ msgstr ""
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr ""
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr ""
@@ -832,7 +821,7 @@ msgstr ""
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr ""
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr ""
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr ""
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr ""
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr ""
@@ -4241,411 +4131,411 @@ msgstr ""
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr ""
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/tr/LC_MESSAGES/django.po b/InvenTree/locale/tr/LC_MESSAGES/django.po
index afc3a5a057..6b9950a94a 100644
--- a/InvenTree/locale/tr/LC_MESSAGES/django.po
+++ b/InvenTree/locale/tr/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -33,9 +33,8 @@ msgstr "Eşleşen eylem bulunamadı"
msgid "Enter date"
msgstr "Tarih giriniz"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "Onay"
@@ -84,8 +83,7 @@ msgstr "Her seferind eaynı e-posta adresini yazmalısınız."
msgid "Duplicate serial: {sn}"
msgstr "Tekrarlanan seri no:{sn}"
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "Geçersiz veri sağlandı"
@@ -119,8 +117,8 @@ msgstr "Seri numarası bulunamadı"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "Benzersiz seri numaralarının sayısı ({s}) girilen miktarla eşleşmeli ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "Ek"
msgid "Select file to attach"
msgstr "Eklenecek dosyayı seç"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "Bağlantı"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "Harici URL'ye bağlantı"
@@ -160,12 +158,12 @@ msgstr "Yorum"
msgid "File comment"
msgstr "Dosya yorumu"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Kullanıcı"
@@ -202,27 +200,27 @@ msgstr "Dosya adı değiştirilirken hata"
msgid "Invalid choice"
msgstr "Geçersiz seçim"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "Adı"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "Adı"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Açıklama"
@@ -249,7 +247,7 @@ msgstr "Açıklama (isteğe bağlı)"
msgid "parent"
msgstr "üst"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "Geçerli bir numara olmalı"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "Sipariş verildi"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "Tamamlandı"
@@ -441,8 +439,8 @@ msgstr "Kayıp"
msgid "Returned"
msgstr "İade"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "Sevk edildi"
@@ -522,7 +520,7 @@ msgstr "Üst ögeden ayır"
msgid "Split child item"
msgstr "Alt ögeyi ayır"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr "Stok parçalarını birleştir"
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "İptali Onayla"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "Yapım işi iptalini onayla"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Yapım İşi Emri"
@@ -691,14 +681,14 @@ msgstr "Yapım İşi Emirleri"
msgid "Build Order Reference"
msgstr "Yapım İşi Emri Referansı"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "Referans"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "Bu yapım işinin tahsis edildiği yapım işi emri"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Parça"
@@ -760,8 +749,8 @@ msgstr "Satış Emri Referansı"
msgid "SalesOrder to which this build is allocated"
msgstr "Bu yapım işinin tahsis edildiği satış emri"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "Kaynak Konum"
@@ -801,8 +790,8 @@ msgstr "Yapım İşi Durumu"
msgid "Build status code"
msgstr "Yapım işi durum kodu"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "Sıra numarası"
@@ -810,12 +799,12 @@ msgstr "Sıra numarası"
msgid "Batch code for this build output"
msgstr "Yapım işi çıktısı için sıra numarası"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "Oluşturulma tarihi"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "Hedef tamamlama tarihi"
@@ -823,8 +812,8 @@ msgstr "Hedef tamamlama tarihi"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "Yapım işinin tamamlanması için hedef tarih. Bu tarihten sonra yapım işi gecikmiş olacak."
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Tamamlama tarihi"
@@ -832,7 +821,7 @@ msgstr "Tamamlama tarihi"
msgid "completed by"
msgstr "tamamlayan"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "Veren"
@@ -842,10 +831,10 @@ msgstr "Bu yapım işi emrini veren kullanıcı"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "Sorumlu"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "Bu yapım işi emrinden sorumlu kullanıcı"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "Harici Bağlantı"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "Notlar"
@@ -885,81 +874,80 @@ msgstr "Notlar"
msgid "Extra build notes"
msgstr "Yapım işi için ekstra notlar"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "Yapım işi çıktısı belirtilmedi"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "Yapım işi çıktısı zaten tamamlanmış"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir"
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr "Seri numaralı stok için miktar bir olmalı"
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "Yapım İşi"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr "Yapım işi için tahsis edilen parçalar"
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "Stok Kalemi"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "Kaynak stok kalemi"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "Kaynak stok kalemi"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "Miktar"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr "Yapım işi için tahsis edilen stok miktarı"
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "Kurulduğu yer"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr "Hedef stok kalemi"
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "Yapım işi çıktısı için miktarını girin"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "Seri Numaraları"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "Konum"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "Durum"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr "Gerekli stok tamamen tahsis edilemedi"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr "Gerekli yapım işi miktarı tamamlanmadı"
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr "Yapım İşini Düzenle"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "Yapım İşini İptal Et"
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr "Stok, yapım işi emri için tamamen tahsis edilemedi"
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "Hedeflenen tarih"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Tamamlandı"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "Sipariş Emri"
@@ -1322,19 +1324,15 @@ msgstr "Sipariş Emri"
msgid "Issued By"
msgstr "Veren"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "Tamamlanmamış Çıktılar"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr "Tamamlanmamış yapım işi çıktıları kaldığı için yapım işi emri tamamlanamıyor"
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr "Stok Kaynağı"
msgid "Stock can be taken from any available location."
msgstr "Stok herhangi bir konumdan alınabilir."
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr "Hedef"
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr "Toplu"
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "Oluşturuldu"
@@ -1398,7 +1396,7 @@ msgstr "Alt Yapım İşi Emrileri"
msgid "Allocate Stock to Build"
msgstr "Yapım İşi için Stok Tahsis Et"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "Stok tahsisini kaldır"
@@ -1428,8 +1426,8 @@ msgstr "Gerekli parçaları sipariş edin"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "Parça Siparişi"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "Yapım işi iptal edildi"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "Yapım İşi Emrini Sil"
@@ -1598,856 +1592,848 @@ msgstr "{name.title()} Dosya"
msgid "Select {name} file to upload"
msgstr "{name} dosyasını yüklemek için seçin"
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr "Anahtar dizesi benzersiz olmalı"
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "Şirket adı"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr "Ana URL"
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr "Varsayılan Para Birimi"
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr "Varsayılan para birimi"
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr "URL'den indir"
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver"
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr "Barkod Desteği"
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "Barkod tarayıcı desteğini etkinleştir"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr "DPN Regex"
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)"
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr "Yinelenen DPN'ye İzin Ver"
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver"
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr "DPN Düzenlemeye İzin Ver"
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver"
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr "Kategori Paremetre Sablonu Kopyala"
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr "Parça oluştururken kategori parametre şablonlarını kopyala"
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "Şablon"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr "Parçaları varsayılan olan şablondur"
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "Montaj"
-#: common/models.py:814
+#: common/models.py:901
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:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "Bileşen"
-#: common/models.py:821
+#: common/models.py:908
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:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "Satın Alınabilir"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "Parçalar varsayılan olarak satın alınabilir"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "Satılabilir"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "Parçalar varsayılan olarak satılabilir"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "Takip Edilebilir"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "Parçalar varsayılan olarak takip edilebilir"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "Sanal"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "Parçalar varsayılan olarak sanaldır"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "Formlarda Fiyat Göster"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "İlgili parçaları göster"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "Hata Ayıklama Modu"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)"
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "Sayfa Boyutu"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "PDF raporlar için varsayılan sayfa boyutu"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "Test Raporları"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "günler"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin"
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr ""
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr ""
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr "Formlarda Miktarı Göster"
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "Fiyat"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr "Aktif"
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "Dosya Yükle"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr "Şirket web sitesi"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "Adres"
@@ -2593,7 +2579,7 @@ msgstr "Telefon numarası"
msgid "Contact phone number"
msgstr "İletişim telefon numarası"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "E-posta"
@@ -2602,7 +2588,7 @@ msgstr "E-posta"
msgid "Contact email address"
msgstr "İletişim e-posta adresi"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "İletişim"
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "Resim"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "Bu şirket üretim yapıyor mu?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "Para birimi"
@@ -2652,18 +2638,18 @@ msgstr "Para birimi"
msgid "Default currency used for this company"
msgstr "Bu şirket için varsayılan para birimi"
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr "Temel Parça"
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "Parça seçin"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr "Parça seçin"
msgid "Manufacturer"
msgstr "Üretici"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "Üretici seçin"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr "ÜPN"
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "Üretici Parça Numarası"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr "Parametre adı"
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "Değer"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "Parametre değeri"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Tedarikçi"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "Tedarikçi seçin"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "Not"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr "temel maliyet"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "Paketleme"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr "çoklu"
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "Satın Alma Emri Oluştur"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "Müşteri"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "Tedarikçi Parçaları"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "Yeni tedarikçi parçası oluştur"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "Yeni Tedarikçi Parçası"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr "Yeni Satış Emri"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr "Atanan Stok"
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr "Üreticiler"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "Parça siparişi"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "Tedarikçi parçalarını sil"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr "Tedarikçi Parçası"
@@ -3125,66 +3114,70 @@ msgstr "Tedarikçi parçasını düzenle"
msgid "Delete supplier part"
msgstr "Tedarikçi parçasını sil"
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "Tedarikçi Parça Stoku"
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "Tedarikçi Parçası Emirleri"
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "Fiyat Bilgisi"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Stok"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr "Fiyatlandırma"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "Stok Kalemleri"
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr "Sipariş ver"
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr "Siparişi tamamlandı olarak işaretle"
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "Siparişi iptal et"
-
#: order/models.py:130
msgid "Order description"
msgstr "Sipariş açıklaması"
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr "Sipariş notları"
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr "Sipariş referansı"
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr ""
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr "Tahsis miktarı stok miktarını aşamaz"
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr "Stok kalemi fazladan tahsis edilmiş"
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr "Seri numaralı stok kalemi için miktar bir olmalı"
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr "Stok tahsis miktarını girin"
@@ -3652,99 +3637,118 @@ msgstr "Stok tahsis miktarını girin"
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "Siparişi iptal et"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr "Sipariş ver"
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr "Siparişi tamamlandı olarak işaretle"
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr "Tedarikçi Parçası Seçin"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr "Sipariş Emri için Dosya Yükle"
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr "Adım 1/2 - Parça Tedarikçileri Seçin"
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "Tedarikçi Seç"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr "Ürünler"
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr "Sipariş Notları"
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "Uyarı"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr "İşlemler"
@@ -4056,69 +3991,24 @@ msgstr "İşlemler"
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "Siparişi İptal Et"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr "Fiyatları güncelle"
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "Varsayılan Konum"
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr "Parametre şablonunu aynı seviyedeki kategorilere ekle"
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr "Parametre şablonunu tüm kategorilere ekle"
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr "Parça Kategorileri"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Parçalar"
@@ -4241,411 +4131,411 @@ msgstr "Parçalar"
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr "Sonraki kullanılabilir seri numaraları"
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr "Sonraki müsait seri numarası"
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr "En son seri numarası"
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr "Yinelenen DPN'ye parça ayarlarında izin verilmiyor"
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "Parça adı"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr "Şablon Mu"
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr "Bu parça bir şablon parçası mı?"
-#: part/models.py:834
+#: part/models.py:829
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:835
+#: part/models.py:830
msgid "Variant Of"
msgstr "Çeşidi"
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "Parça açıklaması"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "Anahtar kelimeler"
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr "DPN"
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr "Parça revizyon veya versiyon numarası"
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr "Revizyon"
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr "Varsayılan Tedarikçi"
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr "Varsayılan tedarikçi parçası"
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "Minimum Stok"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr "Bu parça diğer parçalardan yapılabilir mi?"
-#: part/models.py:971
+#: part/models.py:966
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:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr "Bu parça dış tedarikçilerden satın alınabilir mi?"
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr "Bu parça müşterilere satılabilir mi?"
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr "Bu parça aktif mi?"
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr "Oluşturan Kullanıcı"
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr "Test şablonları sadece takip edilebilir paçalar için oluşturulabilir"
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr "Test Adı"
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr "Test Açıklaması"
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr "Gerekli"
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr "Testi geçmesi için bu gerekli mi?"
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr "Parametre şablon adı benzersiz olmalıdır"
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr "Parametre Şablonu"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr "Bu malzeme listesi, çeşit parçalar listesini kalıtsalıdır"
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr "Çeşide İzin Ver"
-#: part/models.py:2818
+#: part/models.py:2813
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:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "Alt kategoriler"
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr "Kategori ayarla"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "Kategori Ayarla"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr "Pasif"
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr "Bu parça %(link)s parçasının bir çeşididir"
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr "Hesapla"
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr "Bu parçası için tanımlanmış %(count)s tedarikçi bulunmaktadır. Bu parçayı silerseniz, aşağıdaki tedarikçi parçaları da silinecektir:"
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr "Aşağıdaki parçalara kategori ayarla"
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr "Parça Parametre Şablonu Düzenle"
msgid "Delete Part Parameter Template"
msgstr "Parça Parametre Şablonu Sil"
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr "Kategori Parametre Şablonu Oluştur"
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr "Kategori Parametre Şablonu Düzenle"
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr "Kategori Parametre Şablonu Sil"
@@ -5606,7 +5488,25 @@ msgstr "Kategori Parametre Şablonu Sil"
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr "İçin Gerekli Olan"
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "Seri Numara"
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr "Seri No"
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr "Bu stok kalemi için son kullanma tarihi"
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr "Benzersiz seri numaraları giriniz (veya boş bırakınız)"
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr "Seri numaralandırılmış stok için hedef konum(varsayılan olarak, geçerli konumda kalacaktır)"
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr "Seri numaraları"
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr "Benzersiz seri numaraları (miktar ile eşleşmeli)"
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr "İşlem notu ekle (isteğe bağlı)"
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr "Sökülen ögeler için hedef konum"
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr "Kurulu stok kalemlerinin kaldırılmasını onayla"
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "Seri numaraları zaten mevcut"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr "İşlem notu ekle (isteğe bağlı)"
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr "Bu stok kalemi seri numaları - Benzersiz bir seri numarasına sahip ve miktarı ayarlanamaz."
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr "Konum ayarlanmadı"
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr "Stok Kalemine Dönüştür"
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr "Aşağıda listelenen parça çeşitlerinden birine dönüştürülebilir."
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "Uyarı"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr "Bu işlem kolayca geri alınamaz"
@@ -6623,95 +6502,55 @@ msgstr "Bu işlem kolayca geri alınamaz"
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr "Stok konumunu düzenle"
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr "Sahip gerekli (sahip kontrolü etkinleştirildi)"
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr "Stok Konumu QR Kodu"
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr "Geçerli bir konum belirtiniz"
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr "Onay kutusunu işaretleyin"
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr "Stok ayarlamasını onayla"
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "Yeni Stok konumu oluştur"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr "Stok Konumunu Sil"
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "Kategori parametre şablonu bulunamadı"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr "Şablonu Düzenle"
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr "Şablonu Sil"
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr "Parça parametre şablonu bulunamadı"
@@ -7416,7 +7255,7 @@ msgstr "Ana Sayfa Ayarları"
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr "InvenTree Sürüm Bilgisi"
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr "Kapat"
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr "Cevap Yok"
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr "Bu fonksiyona erişmek için gerekli izinlere sahip değilsiniz"
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr "Stok Kalemlerini bu konuma kaydet"
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr "Stok kalemi zaten bu konumda"
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr "Konuma Kaydet"
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr "Barkod geçerli bir konumla eşleşmiyor"
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr "Gerekli Parça"
@@ -8104,267 +7943,284 @@ msgstr "Gerekli Parça"
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr "Yapım işi emri eksik"
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr "Tamamlanmış Yapım İşi Emri"
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr "Bu Malzeme Listesi takip edilebilir parçalar içeriyor"
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "Takip edilebilir parçaların seri numaraları belirtilmiş olmalı"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr "Birden çok tek yapım işi çıktısı oluşturmak için seri numaraları girin"
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr "Yapım İşi Çıktısı Oluştur"
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr "Stok tahsisini düzenle"
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr "Stok tahsisini sil"
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "Parçaları Seçin"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr "Etiket Şablonu Seç"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr "Ürünler"
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "Stok tahsisini onayla"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr "Silme İşlemini Onayla"
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr "Seri numaralarını tahsis et"
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr "Seri Numaralarını Tahsis Et"
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr "Katagori Yok"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr "Sorgu ile eşleşen test şablonu bulunamadı"
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr "Stok konumunu düzenle"
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr "Stok ayarlamasını onayla"
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "Stok konumu ayarlanmadı"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr "Detaylar"
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr "Konum artık yok"
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr "Yetkiler"
msgid "Important dates"
msgstr "Önemli tarihler"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "İzinleri ayarla"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "Grup"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "Görünüm"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "Parçayı görüntüleme izni"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "Parça ekleme izni"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "Değiştir"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "Parçaları düzenleme izni"
-#: users/models.py:220
+#: users/models.py:221
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 65f7268b1b..8df879ceaa 100644
--- a/InvenTree/locale/vi/LC_MESSAGES/django.po
+++ b/InvenTree/locale/vi/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
@@ -33,9 +33,8 @@ msgstr ""
msgid "Enter date"
msgstr ""
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr ""
@@ -84,8 +83,7 @@ msgstr ""
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr ""
@@ -119,7 +117,7 @@ msgstr ""
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
msgstr ""
#: InvenTree/models.py:185
@@ -139,15 +137,15 @@ msgstr ""
msgid "Select file to attach"
msgstr ""
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr ""
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr ""
@@ -160,12 +158,12 @@ msgstr "Bình luận"
msgid "File comment"
msgstr ""
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "Người dùng"
@@ -202,27 +200,27 @@ msgstr ""
msgid "Invalid choice"
msgstr ""
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr ""
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr ""
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "Mô tả"
@@ -249,7 +247,7 @@ msgstr "Mô tả (tùy chọn)"
msgid "parent"
msgstr ""
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr ""
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr ""
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr ""
@@ -441,8 +439,8 @@ msgstr ""
msgid "Returned"
msgstr ""
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr ""
@@ -522,7 +520,7 @@ msgstr ""
msgid "Split child item"
msgstr ""
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr ""
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr ""
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr ""
@@ -673,7 +663,7 @@ msgstr ""
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "Tạo đơn hàng"
@@ -691,14 +681,14 @@ msgstr "Tạo đơn hàng"
msgid "Build Order Reference"
msgstr ""
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr ""
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr ""
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr ""
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "Nguyên liệu"
@@ -760,8 +749,8 @@ msgstr ""
msgid "SalesOrder to which this build is allocated"
msgstr ""
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr ""
@@ -801,8 +790,8 @@ msgstr ""
msgid "Build status code"
msgstr ""
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr ""
@@ -810,12 +799,12 @@ msgstr ""
msgid "Batch code for this build output"
msgstr ""
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr ""
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr ""
@@ -823,8 +812,8 @@ msgstr ""
msgid "Target date for build completion. Build will be overdue after this date."
msgstr ""
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "Ngày hoàn thành"
@@ -832,7 +821,7 @@ msgstr "Ngày hoàn thành"
msgid "completed by"
msgstr ""
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr ""
@@ -842,10 +831,10 @@ msgstr ""
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr ""
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr ""
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr ""
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr ""
@@ -885,81 +874,80 @@ msgstr ""
msgid "Extra build notes"
msgstr ""
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr ""
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr ""
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr ""
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr ""
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr ""
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr ""
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr ""
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr ""
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr ""
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr ""
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr ""
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr ""
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr ""
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr ""
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "Trạng thái"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr ""
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr ""
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr ""
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr ""
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "Đã hoàn thành"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr ""
@@ -1322,19 +1324,15 @@ msgstr ""
msgid "Issued By"
msgstr ""
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr ""
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr ""
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr ""
@@ -1398,7 +1396,7 @@ msgstr ""
msgid "Allocate Stock to Build"
msgstr ""
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr ""
@@ -1428,8 +1426,8 @@ msgstr ""
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr ""
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr ""
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr ""
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr ""
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr ""
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr ""
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr ""
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr ""
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr ""
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr ""
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr ""
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr ""
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr ""
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr ""
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr ""
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr ""
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr ""
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr ""
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr ""
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr ""
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr ""
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr ""
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr ""
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr ""
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr ""
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr ""
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr ""
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr ""
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr ""
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr ""
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr ""
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr ""
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr ""
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr ""
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr ""
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr ""
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr ""
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr ""
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr ""
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr ""
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "Hiển thị nguyên liệu mới nhất"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "Hiển thị nguyên liệu mới nhất trên trang chủ"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr ""
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr ""
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr ""
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr ""
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr ""
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr ""
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr ""
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr ""
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr ""
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr ""
msgid "Description of the company"
msgstr ""
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr ""
msgid "Company website URL"
msgstr ""
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr ""
@@ -2593,7 +2579,7 @@ msgstr ""
msgid "Contact phone number"
msgstr ""
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr ""
@@ -2602,7 +2588,7 @@ msgstr ""
msgid "Contact email address"
msgstr ""
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr ""
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr ""
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr ""
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr ""
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr ""
@@ -2652,18 +2638,18 @@ msgstr ""
msgid "Default currency used for this company"
msgstr ""
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr ""
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr ""
msgid "Manufacturer"
msgstr "Nhà sản xuất"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr ""
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr ""
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr ""
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr ""
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr ""
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr ""
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr ""
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr ""
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr ""
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "Nhà cung cấp"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr ""
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr ""
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr ""
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr ""
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr ""
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr ""
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr ""
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr ""
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr ""
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr ""
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr ""
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr ""
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr ""
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr ""
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr ""
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr ""
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr ""
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr ""
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr ""
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr ""
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr ""
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr ""
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr ""
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr ""
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr ""
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr ""
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr ""
@@ -3018,77 +3002,81 @@ msgstr ""
msgid "Manufacturers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr ""
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr ""
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr ""
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr ""
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr ""
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr ""
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr ""
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr ""
@@ -3125,66 +3114,70 @@ msgstr ""
msgid "Delete supplier part"
msgstr ""
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr ""
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr ""
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr ""
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr ""
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "Kiện hàng"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr ""
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr ""
@@ -3338,19 +3331,6 @@ msgstr ""
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr ""
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr ""
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr ""
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr ""
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr ""
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr "Đơn hàng"
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr ""
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "Giá mua"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr ""
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr ""
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr ""
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr ""
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr ""
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr ""
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr ""
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr ""
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr ""
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr ""
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr ""
msgid "This field is required"
msgstr ""
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr ""
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr ""
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr ""
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr ""
@@ -4232,7 +4122,7 @@ msgstr ""
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "Nguyên liệu"
@@ -4241,411 +4131,411 @@ msgstr "Nguyên liệu"
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr ""
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr ""
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr ""
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr ""
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr ""
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr ""
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr ""
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr ""
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr ""
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr ""
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr ""
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr ""
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr ""
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr ""
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr ""
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr ""
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr ""
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr ""
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr ""
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr ""
@@ -4826,39 +4716,31 @@ msgstr ""
msgid "Set category"
msgstr ""
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr ""
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr ""
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr ""
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr ""
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr ""
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr ""
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr ""
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr ""
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr ""
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr ""
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr ""
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr ""
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr ""
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr ""
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr ""
@@ -5606,7 +5488,25 @@ msgstr ""
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr ""
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr ""
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr ""
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr ""
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr ""
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr ""
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr ""
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr ""
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr ""
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr ""
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr ""
msgid "Report Settings"
msgstr ""
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr ""
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr "Chỉnh sửa cài đặt toàn cục"
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr "Chỉnh sửa cài đặt người dùng"
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr ""
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr ""
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr ""
@@ -7416,7 +7255,7 @@ msgstr "Thiết lập trang chủ"
msgid "Label Settings"
msgstr ""
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr ""
msgid "Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr ""
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr ""
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr ""
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr ""
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr "Số seri mới nhất"
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr ""
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr ""
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr ""
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr ""
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr ""
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr ""
msgid "Delete Manufacturer Part"
msgstr ""
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr ""
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr ""
@@ -8626,62 +8482,62 @@ msgstr ""
msgid "Select Label Template"
msgstr ""
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr ""
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr ""
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr ""
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr ""
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr ""
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr ""
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr ""
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr ""
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr ""
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr ""
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr ""
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr ""
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr ""
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr ""
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr ""
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr ""
msgid "Important dates"
msgstr ""
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr ""
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr ""
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr ""
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr ""
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr ""
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr ""
diff --git a/InvenTree/locale/zh/LC_MESSAGES/django.po b/InvenTree/locale/zh/LC_MESSAGES/django.po
index 41ce90240a..2966c056e4 100644
--- a/InvenTree/locale/zh/LC_MESSAGES/django.po
+++ b/InvenTree/locale/zh/LC_MESSAGES/django.po
@@ -2,8 +2,8 @@ msgid ""
msgstr ""
"Project-Id-Version: inventree\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-05-01 14:04+0000\n"
-"PO-Revision-Date: 2022-05-01 23:28\n"
+"POT-Creation-Date: 2022-05-06 10:02+0000\n"
+"PO-Revision-Date: 2022-05-07 00:06\n"
"Last-Translator: \n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
@@ -33,9 +33,8 @@ msgstr "未找到指定操作"
msgid "Enter date"
msgstr "输入日期"
-#: InvenTree/forms.py:126 order/forms.py:24 order/forms.py:35 order/forms.py:46
-#: order/forms.py:57 templates/account/email_confirm.html:20
-#: templates/js/translated/forms.js:601
+#: InvenTree/forms.py:126 templates/account/email_confirm.html:20
+#: templates/js/translated/forms.js:614
msgid "Confirm"
msgstr "确认"
@@ -84,8 +83,7 @@ msgstr "您必须输入相同的 Email 。"
msgid "Duplicate serial: {sn}"
msgstr ""
-#: InvenTree/helpers.py:456 order/models.py:306 order/models.py:459
-#: stock/views.py:993
+#: InvenTree/helpers.py:456 order/models.py:307 order/models.py:461
msgid "Invalid quantity provided"
msgstr "提供的数量无效"
@@ -119,8 +117,8 @@ msgstr "未找到序列号"
#: InvenTree/helpers.py:540
#, python-brace-format
-msgid "Number of unique serial number ({s}) must match quantity ({q})"
-msgstr "唯一序列号 ({s}) 必须匹配数量 ({q})"
+msgid "Number of unique serial numbers ({s}) must match quantity ({q})"
+msgstr ""
#: InvenTree/models.py:185
msgid "Missing file"
@@ -139,15 +137,15 @@ msgstr "附件"
msgid "Select file to attach"
msgstr "选择附件"
-#: InvenTree/models.py:204 company/models.py:131 company/models.py:348
-#: company/models.py:564 order/models.py:132 part/models.py:873
+#: InvenTree/models.py:204 company/models.py:131 company/models.py:345
+#: company/models.py:561 order/models.py:132 part/models.py:868
#: report/templates/report/inventree_build_order_base.html:165
#: templates/js/translated/company.js:540
#: templates/js/translated/company.js:829 templates/js/translated/part.js:1441
msgid "Link"
msgstr "链接"
-#: InvenTree/models.py:205 build/models.py:332 part/models.py:874
+#: InvenTree/models.py:205 build/models.py:332 part/models.py:869
#: stock/models.py:669
msgid "Link to external URL"
msgstr "链接到外部 URL"
@@ -160,12 +158,12 @@ msgstr "注释"
msgid "File comment"
msgstr "文件注释"
-#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1456
-#: common/models.py:1457 common/models.py:1678 common/models.py:1679
-#: common/models.py:1908 common/models.py:1909 part/models.py:2374
-#: part/models.py:2394
+#: InvenTree/models.py:214 InvenTree/models.py:215 common/models.py:1535
+#: common/models.py:1536 common/models.py:1757 common/models.py:1758
+#: common/models.py:1987 common/models.py:1988 part/models.py:2369
+#: part/models.py:2389 plugin/models.py:183 plugin/models.py:184
#: report/templates/report/inventree_test_report_base.html:96
-#: templates/js/translated/stock.js:2517
+#: templates/js/translated/stock.js:2518
msgid "User"
msgstr "用户"
@@ -202,27 +200,27 @@ msgstr "重命名文件出错"
msgid "Invalid choice"
msgstr "选择无效"
-#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1664
-#: company/models.py:415 label/models.py:112 part/models.py:817
-#: part/models.py:2558 plugin/models.py:40 report/models.py:177
+#: InvenTree/models.py:342 InvenTree/models.py:343 common/models.py:1743
+#: company/models.py:412 label/models.py:112 part/models.py:812
+#: part/models.py:2553 plugin/models.py:41 report/models.py:177
#: templates/InvenTree/notifications/notifications.html:84
#: templates/InvenTree/settings/mixins/urls.html:13
#: templates/InvenTree/settings/plugin.html:49
#: templates/InvenTree/settings/plugin.html:132
#: templates/InvenTree/settings/plugin_settings.html:23
-#: templates/InvenTree/settings/settings.html:320
+#: templates/InvenTree/settings/settings.html:323
#: templates/js/translated/company.js:641 templates/js/translated/part.js:615
-#: templates/js/translated/part.js:767 templates/js/translated/part.js:1748
-#: templates/js/translated/stock.js:2287
+#: templates/js/translated/part.js:767 templates/js/translated/part.js:1736
+#: templates/js/translated/stock.js:2288
msgid "Name"
msgstr "名称"
#: InvenTree/models.py:349 build/models.py:209
-#: build/templates/build/detail.html:24 company/models.py:354
-#: company/models.py:570 company/templates/company/company_base.html:68
-#: company/templates/company/manufacturer_part.html:77
+#: build/templates/build/detail.html:24 company/models.py:351
+#: company/models.py:567 company/templates/company/company_base.html:71
+#: company/templates/company/manufacturer_part.html:75
#: company/templates/company/supplier_part.html:73 label/models.py:119
-#: order/models.py:130 part/models.py:840 part/templates/part/category.html:74
+#: order/models.py:130 part/models.py:835 part/templates/part/category.html:74
#: part/templates/part/part_base.html:167
#: part/templates/part/set_category.html:14 report/models.py:190
#: report/models.py:555 report/models.py:594
@@ -230,14 +228,14 @@ msgstr "名称"
#: stock/templates/stock/location.html:94
#: templates/InvenTree/settings/plugin_settings.html:33
#: templates/js/translated/bom.js:552 templates/js/translated/bom.js:790
-#: templates/js/translated/build.js:2358 templates/js/translated/company.js:345
+#: templates/js/translated/build.js:2407 templates/js/translated/company.js:345
#: templates/js/translated/company.js:551
-#: templates/js/translated/company.js:840 templates/js/translated/order.js:997
-#: templates/js/translated/order.js:1218 templates/js/translated/order.js:1700
+#: templates/js/translated/company.js:840 templates/js/translated/order.js:1453
+#: templates/js/translated/order.js:1674 templates/js/translated/order.js:2156
#: templates/js/translated/part.js:674 templates/js/translated/part.js:1082
-#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1767
-#: templates/js/translated/part.js:1836 templates/js/translated/stock.js:1685
-#: templates/js/translated/stock.js:2299 templates/js/translated/stock.js:2354
+#: templates/js/translated/part.js:1355 templates/js/translated/part.js:1755
+#: templates/js/translated/part.js:1824 templates/js/translated/stock.js:1686
+#: templates/js/translated/stock.js:2300 templates/js/translated/stock.js:2355
msgid "Description"
msgstr "描述信息"
@@ -249,7 +247,7 @@ msgstr "描述 (可选)"
msgid "parent"
msgstr "上级项"
-#: InvenTree/serializers.py:65 part/models.py:2891
+#: InvenTree/serializers.py:65 part/models.py:2886
msgid "Must be a valid number"
msgstr "必须是有效数字"
@@ -421,7 +419,7 @@ msgid "Placed"
msgstr "已添加"
#: InvenTree/status_codes.py:103 InvenTree/status_codes.py:326
-#: order/templates/order/order_base.html:128
+#: order/templates/order/order_base.html:134
#: order/templates/order/sales_order_base.html:132
msgid "Complete"
msgstr "完成"
@@ -441,8 +439,8 @@ msgstr "丢失"
msgid "Returned"
msgstr "已退回"
-#: InvenTree/status_codes.py:143 order/models.py:1066
-#: templates/js/translated/order.js:2423 templates/js/translated/order.js:2740
+#: InvenTree/status_codes.py:143 order/models.py:1068
+#: templates/js/translated/order.js:2879 templates/js/translated/order.js:3196
msgid "Shipped"
msgstr "已发货"
@@ -522,7 +520,7 @@ msgstr "从父项拆分"
msgid "Split child item"
msgstr "拆分子项"
-#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2025
+#: InvenTree/status_codes.py:298 templates/js/translated/stock.js:2026
msgid "Merged stock items"
msgstr ""
@@ -658,14 +656,6 @@ msgstr ""
msgid "Barcode associated with Stock Item"
msgstr ""
-#: build/forms.py:20
-msgid "Confirm cancel"
-msgstr "确认取消"
-
-#: build/forms.py:20 build/views.py:62
-msgid "Confirm build cancellation"
-msgstr "确认生产取消"
-
#: build/models.py:135
msgid "Invalid choice for parent build"
msgstr "上级生产选项无效"
@@ -673,7 +663,7 @@ msgstr "上级生产选项无效"
#: build/models.py:139 build/templates/build/build_base.html:9
#: build/templates/build/build_base.html:27
#: report/templates/report/inventree_build_order_base.html:106
-#: templates/js/translated/build.js:683
+#: templates/js/translated/build.js:727
msgid "Build Order"
msgstr "生产订单"
@@ -691,14 +681,14 @@ msgstr "生产订单"
msgid "Build Order Reference"
msgstr "相关生产订单"
-#: build/models.py:201 order/models.py:237 order/models.py:587
-#: order/models.py:867 part/models.py:2802
+#: build/models.py:201 order/models.py:237 order/models.py:589
+#: order/models.py:869 part/models.py:2797
#: part/templates/part/upload_bom.html:54
#: report/templates/report/inventree_po_report.html:91
#: report/templates/report/inventree_so_report.html:92
-#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1744
-#: templates/js/translated/order.js:1249 templates/js/translated/order.js:1450
-#: templates/js/translated/order.js:2607 templates/js/translated/order.js:3085
+#: templates/js/translated/bom.js:797 templates/js/translated/build.js:1793
+#: templates/js/translated/order.js:1705 templates/js/translated/order.js:1906
+#: templates/js/translated/order.js:3063 templates/js/translated/order.js:3546
msgid "Reference"
msgstr "引用"
@@ -716,12 +706,11 @@ msgid "BuildOrder to which this build is allocated"
msgstr "此次生产匹配的订单"
#: build/models.py:227 build/templates/build/build_base.html:77
-#: build/templates/build/detail.html:29 company/models.py:706
-#: order/models.py:966 order/models.py:1055
-#: order/templates/order/order_wizard/select_parts.html:32 part/models.py:367
-#: part/models.py:2320 part/models.py:2336 part/models.py:2355
-#: part/models.py:2372 part/models.py:2474 part/models.py:2596
-#: part/models.py:2686 part/models.py:2777 part/models.py:3067
+#: build/templates/build/detail.html:29 company/models.py:703
+#: order/models.py:968 order/models.py:1057 part/models.py:367
+#: part/models.py:2315 part/models.py:2331 part/models.py:2350
+#: part/models.py:2367 part/models.py:2469 part/models.py:2591
+#: part/models.py:2681 part/models.py:2772 part/models.py:3062
#: part/serializers.py:922 part/templates/part/part_app_base.html:8
#: part/templates/part/part_pricing.html:12
#: part/templates/part/set_category.html:13
@@ -732,19 +721,19 @@ msgstr "此次生产匹配的订单"
#: templates/InvenTree/search.html:80
#: templates/email/build_order_required_stock.html:17
#: templates/email/low_stock_notification.html:16
-#: templates/js/translated/barcode.js:436 templates/js/translated/bom.js:551
-#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1113
-#: templates/js/translated/build.js:1614 templates/js/translated/build.js:2050
-#: templates/js/translated/build.js:2363 templates/js/translated/company.js:492
-#: templates/js/translated/company.js:749 templates/js/translated/order.js:88
-#: templates/js/translated/order.js:737 templates/js/translated/order.js:1203
-#: templates/js/translated/order.js:2027 templates/js/translated/order.js:2376
-#: templates/js/translated/order.js:2591 templates/js/translated/part.js:1067
-#: templates/js/translated/part.js:1137 templates/js/translated/part.js:1333
-#: templates/js/translated/stock.js:530 templates/js/translated/stock.js:695
-#: templates/js/translated/stock.js:902 templates/js/translated/stock.js:1642
-#: templates/js/translated/stock.js:2380 templates/js/translated/stock.js:2575
-#: templates/js/translated/stock.js:2675
+#: templates/js/translated/barcode.js:435 templates/js/translated/bom.js:551
+#: templates/js/translated/bom.js:744 templates/js/translated/build.js:1157
+#: templates/js/translated/build.js:1663 templates/js/translated/build.js:2099
+#: templates/js/translated/build.js:2412 templates/js/translated/company.js:492
+#: templates/js/translated/company.js:749 templates/js/translated/order.js:93
+#: templates/js/translated/order.js:761 templates/js/translated/order.js:1193
+#: templates/js/translated/order.js:1659 templates/js/translated/order.js:2483
+#: templates/js/translated/order.js:2832 templates/js/translated/order.js:3047
+#: templates/js/translated/part.js:1067 templates/js/translated/part.js:1137
+#: templates/js/translated/part.js:1333 templates/js/translated/stock.js:531
+#: templates/js/translated/stock.js:696 templates/js/translated/stock.js:903
+#: templates/js/translated/stock.js:1643 templates/js/translated/stock.js:2381
+#: templates/js/translated/stock.js:2576 templates/js/translated/stock.js:2710
msgid "Part"
msgstr "商品"
@@ -760,8 +749,8 @@ msgstr "相关销售订单"
msgid "SalesOrder to which this build is allocated"
msgstr "此次生产匹配的销售订单"
-#: build/models.py:249 build/serializers.py:748
-#: templates/js/translated/build.js:2038 templates/js/translated/order.js:2015
+#: build/models.py:249 build/serializers.py:794
+#: templates/js/translated/build.js:2087 templates/js/translated/order.js:2471
msgid "Source Location"
msgstr "来源地点"
@@ -801,8 +790,8 @@ msgstr "生产状态"
msgid "Build status code"
msgstr "生产状态代码"
-#: build/models.py:287 build/serializers.py:223 order/serializers.py:340
-#: stock/models.py:673 templates/js/translated/order.js:599
+#: build/models.py:287 build/serializers.py:223 order/serializers.py:448
+#: stock/models.py:673 templates/js/translated/order.js:1053
msgid "Batch Code"
msgstr "批量代码"
@@ -810,12 +799,12 @@ msgstr "批量代码"
msgid "Batch code for this build output"
msgstr "此生产产出的批量代码"
-#: build/models.py:294 order/models.py:134 part/models.py:1012
-#: part/templates/part/part_base.html:305 templates/js/translated/order.js:1713
+#: build/models.py:294 order/models.py:134 part/models.py:1007
+#: part/templates/part/part_base.html:305 templates/js/translated/order.js:2169
msgid "Creation Date"
msgstr "创建日期"
-#: build/models.py:298 order/models.py:609
+#: build/models.py:298 order/models.py:611
msgid "Target completion date"
msgstr "预计完成日期"
@@ -823,8 +812,8 @@ msgstr "预计完成日期"
msgid "Target date for build completion. Build will be overdue after this date."
msgstr "生产完成的目标日期。生产将在此日期之后逾期。"
-#: build/models.py:302 order/models.py:279
-#: templates/js/translated/build.js:2440
+#: build/models.py:302 order/models.py:280
+#: templates/js/translated/build.js:2489
msgid "Completion Date"
msgstr "完成日期:"
@@ -832,7 +821,7 @@ msgstr "完成日期:"
msgid "completed by"
msgstr "完成人"
-#: build/models.py:316 templates/js/translated/build.js:2408
+#: build/models.py:316 templates/js/translated/build.js:2457
msgid "Issued by"
msgstr "发布者"
@@ -842,10 +831,10 @@ msgstr "发布此生产订单的用户"
#: build/models.py:325 build/templates/build/build_base.html:190
#: build/templates/build/detail.html:115 order/models.py:148
-#: order/templates/order/order_base.html:170
-#: order/templates/order/sales_order_base.html:182 part/models.py:1016
+#: order/templates/order/order_base.html:176
+#: order/templates/order/sales_order_base.html:182 part/models.py:1011
#: report/templates/report/inventree_build_order_base.html:159
-#: templates/js/translated/build.js:2420 templates/js/translated/order.js:1031
+#: templates/js/translated/build.js:2469 templates/js/translated/order.js:1487
msgid "Responsible"
msgstr "责任人"
@@ -854,8 +843,8 @@ msgid "User responsible for this build order"
msgstr "负责此生产订单的用户"
#: build/models.py:331 build/templates/build/detail.html:101
-#: company/templates/company/manufacturer_part.html:103
-#: company/templates/company/supplier_part.html:126
+#: company/templates/company/manufacturer_part.html:108
+#: company/templates/company/supplier_part.html:132
#: part/templates/part/part_base.html:346 stock/models.py:667
#: stock/templates/stock/item_base.html:357
msgid "External Link"
@@ -863,21 +852,21 @@ msgstr "外部链接"
#: build/models.py:336 build/serializers.py:394
#: build/templates/build/sidebar.html:21 company/models.py:142
-#: company/models.py:577 company/templates/company/sidebar.html:25
-#: order/models.py:152 order/models.py:869 order/models.py:1176
+#: company/models.py:574 company/templates/company/sidebar.html:25
+#: order/models.py:152 order/models.py:871 order/models.py:1178
#: order/templates/order/po_sidebar.html:11
-#: order/templates/order/so_sidebar.html:17 part/models.py:1001
+#: order/templates/order/so_sidebar.html:17 part/models.py:996
#: part/templates/part/part_sidebar.html:59
#: report/templates/report/inventree_build_order_base.html:173
-#: stock/forms.py:137 stock/forms.py:171 stock/models.py:740
-#: stock/models.py:2102 stock/models.py:2208 stock/serializers.py:332
-#: stock/serializers.py:697 stock/serializers.py:795 stock/serializers.py:927
+#: stock/models.py:740 stock/models.py:2102 stock/models.py:2208
+#: stock/serializers.py:332 stock/serializers.py:470 stock/serializers.py:739
+#: stock/serializers.py:837 stock/serializers.py:969
#: stock/templates/stock/stock_sidebar.html:25
-#: templates/js/translated/barcode.js:101 templates/js/translated/bom.js:983
-#: templates/js/translated/company.js:845 templates/js/translated/order.js:1370
-#: templates/js/translated/order.js:1521 templates/js/translated/order.js:1896
-#: templates/js/translated/order.js:2765 templates/js/translated/order.js:3156
-#: templates/js/translated/stock.js:1316 templates/js/translated/stock.js:1921
+#: templates/js/translated/barcode.js:100 templates/js/translated/bom.js:983
+#: templates/js/translated/company.js:845 templates/js/translated/order.js:1826
+#: templates/js/translated/order.js:1977 templates/js/translated/order.js:2352
+#: templates/js/translated/order.js:3221 templates/js/translated/order.js:3617
+#: templates/js/translated/stock.js:1317 templates/js/translated/stock.js:1922
msgid "Notes"
msgstr "备注"
@@ -885,81 +874,80 @@ msgstr "备注"
msgid "Extra build notes"
msgstr "额外的生产备注"
-#: build/models.py:750
+#: build/models.py:775
msgid "No build output specified"
msgstr "未指定生产产出"
-#: build/models.py:753
+#: build/models.py:778
msgid "Build output is already completed"
msgstr "生产产出已完成"
-#: build/models.py:756
+#: build/models.py:781
msgid "Build output does not match Build Order"
msgstr "生产产出与订单不匹配"
-#: build/models.py:1171
+#: build/models.py:1214
msgid "Build item must specify a build output, as master part is marked as trackable"
msgstr ""
-#: build/models.py:1180
+#: build/models.py:1223
#, python-brace-format
-msgid "Allocated quantity ({q}) must not execed available stock quantity ({a})"
+msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})"
msgstr ""
-#: build/models.py:1190
+#: build/models.py:1233
msgid "Stock item is over-allocated"
msgstr "库存物品分配过度!"
-#: build/models.py:1196 order/models.py:1309
+#: build/models.py:1239 order/models.py:1311
msgid "Allocation quantity must be greater than zero"
msgstr "分配数量必须大于0"
-#: build/models.py:1202
+#: build/models.py:1245
msgid "Quantity must be 1 for serialized stock"
msgstr ""
-#: build/models.py:1259
+#: build/models.py:1302
msgid "Selected stock item not found in BOM"
msgstr ""
-#: build/models.py:1333 stock/templates/stock/item_base.html:329
-#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2336
+#: build/models.py:1376 stock/templates/stock/item_base.html:329
+#: templates/InvenTree/search.html:137 templates/js/translated/build.js:2385
#: templates/navbar.html:38
msgid "Build"
msgstr "生产"
-#: build/models.py:1334
+#: build/models.py:1377
msgid "Build to allocate parts"
msgstr ""
-#: build/models.py:1350 build/serializers.py:589 order/serializers.py:853
-#: order/serializers.py:871 stock/serializers.py:404 stock/serializers.py:635
-#: stock/serializers.py:753 stock/templates/stock/item_base.html:9
+#: build/models.py:1393 build/serializers.py:635 order/serializers.py:961
+#: order/serializers.py:979 stock/serializers.py:404 stock/serializers.py:677
+#: stock/serializers.py:795 stock/templates/stock/item_base.html:9
#: stock/templates/stock/item_base.html:23
#: stock/templates/stock/item_base.html:351
-#: templates/js/translated/build.js:694 templates/js/translated/build.js:699
-#: templates/js/translated/build.js:2052 templates/js/translated/build.js:2488
-#: templates/js/translated/order.js:89 templates/js/translated/order.js:2028
-#: templates/js/translated/order.js:2283 templates/js/translated/order.js:2288
-#: templates/js/translated/order.js:2383 templates/js/translated/order.js:2473
-#: templates/js/translated/stock.js:531 templates/js/translated/stock.js:696
-#: templates/js/translated/stock.js:2453
+#: templates/js/translated/build.js:738 templates/js/translated/build.js:743
+#: templates/js/translated/build.js:2101 templates/js/translated/build.js:2537
+#: templates/js/translated/order.js:94 templates/js/translated/order.js:2484
+#: templates/js/translated/order.js:2739 templates/js/translated/order.js:2744
+#: templates/js/translated/order.js:2839 templates/js/translated/order.js:2929
+#: templates/js/translated/stock.js:532 templates/js/translated/stock.js:697
+#: templates/js/translated/stock.js:2454
msgid "Stock Item"
msgstr "库存项"
-#: build/models.py:1351
+#: build/models.py:1394
msgid "Source stock item"
msgstr "源库存项"
-#: build/models.py:1363 build/serializers.py:193
+#: build/models.py:1406 build/serializers.py:193
#: build/templates/build/build_base.html:82
-#: build/templates/build/detail.html:34 common/models.py:1489
-#: company/forms.py:42 company/templates/company/supplier_part.html:251
-#: order/models.py:860 order/models.py:1349 order/serializers.py:973
-#: order/templates/order/order_wizard/match_parts.html:30
-#: order/templates/order/order_wizard/select_parts.html:34 part/forms.py:144
-#: part/forms.py:160 part/forms.py:176 part/models.py:2793
-#: part/templates/part/detail.html:964 part/templates/part/detail.html:1050
+#: build/templates/build/detail.html:34 common/models.py:1568
+#: company/forms.py:42 company/templates/company/supplier_part.html:258
+#: order/models.py:862 order/models.py:1351 order/serializers.py:1100
+#: order/templates/order/order_wizard/match_parts.html:30 part/forms.py:126
+#: part/forms.py:142 part/forms.py:158 part/models.py:2788
+#: part/templates/part/detail.html:970 part/templates/part/detail.html:1056
#: part/templates/part/part_pricing.html:16
#: part/templates/part/upload_bom.html:53
#: report/templates/report/inventree_build_order_base.html:114
@@ -967,42 +955,41 @@ msgstr "源库存项"
#: report/templates/report/inventree_so_report.html:91
#: report/templates/report/inventree_test_report_base.html:81
#: report/templates/report/inventree_test_report_base.html:139
-#: stock/forms.py:139 stock/serializers.py:293
-#: stock/templates/stock/item_base.html:181
+#: stock/serializers.py:293 stock/templates/stock/item_base.html:181
#: stock/templates/stock/item_base.html:246
#: stock/templates/stock/item_base.html:254
-#: templates/js/translated/barcode.js:438 templates/js/translated/bom.js:805
-#: templates/js/translated/build.js:378 templates/js/translated/build.js:530
-#: templates/js/translated/build.js:721 templates/js/translated/build.js:1135
-#: templates/js/translated/build.js:1640 templates/js/translated/build.js:2053
+#: templates/js/translated/barcode.js:437 templates/js/translated/bom.js:805
+#: templates/js/translated/build.js:422 templates/js/translated/build.js:574
+#: templates/js/translated/build.js:765 templates/js/translated/build.js:1179
+#: templates/js/translated/build.js:1689 templates/js/translated/build.js:2102
#: templates/js/translated/model_renderers.js:108
-#: templates/js/translated/order.js:105 templates/js/translated/order.js:1255
-#: templates/js/translated/order.js:1456 templates/js/translated/order.js:2029
-#: templates/js/translated/order.js:2302 templates/js/translated/order.js:2390
-#: templates/js/translated/order.js:2479 templates/js/translated/order.js:2613
-#: templates/js/translated/order.js:3091 templates/js/translated/part.js:967
-#: templates/js/translated/part.js:1981 templates/js/translated/part.js:2212
-#: templates/js/translated/part.js:2246 templates/js/translated/part.js:2324
-#: templates/js/translated/stock.js:402 templates/js/translated/stock.js:556
-#: templates/js/translated/stock.js:726 templates/js/translated/stock.js:2502
-#: templates/js/translated/stock.js:2587
+#: templates/js/translated/order.js:110 templates/js/translated/order.js:764
+#: templates/js/translated/order.js:1711 templates/js/translated/order.js:1912
+#: templates/js/translated/order.js:2485 templates/js/translated/order.js:2758
+#: templates/js/translated/order.js:2846 templates/js/translated/order.js:2935
+#: templates/js/translated/order.js:3069 templates/js/translated/order.js:3552
+#: templates/js/translated/part.js:967 templates/js/translated/part.js:1969
+#: templates/js/translated/part.js:2200 templates/js/translated/part.js:2234
+#: templates/js/translated/part.js:2312 templates/js/translated/stock.js:403
+#: templates/js/translated/stock.js:557 templates/js/translated/stock.js:727
+#: templates/js/translated/stock.js:2503 templates/js/translated/stock.js:2588
msgid "Quantity"
msgstr "数量"
-#: build/models.py:1364
+#: build/models.py:1407
msgid "Stock quantity to allocate to build"
msgstr ""
-#: build/models.py:1372
+#: build/models.py:1415
msgid "Install into"
msgstr "安装到"
-#: build/models.py:1373
+#: build/models.py:1416
msgid "Destination stock item"
msgstr ""
-#: build/serializers.py:138 build/serializers.py:618
-#: templates/js/translated/build.js:1123
+#: build/serializers.py:138 build/serializers.py:664
+#: templates/js/translated/build.js:1167
msgid "Build Output"
msgstr ""
@@ -1026,9 +1013,10 @@ msgstr ""
msgid "Enter quantity for build output"
msgstr "输入生产产出数量"
-#: build/serializers.py:206 build/serializers.py:609 order/models.py:304
-#: order/serializers.py:335 part/serializers.py:593 part/serializers.py:1089
-#: stock/models.py:507 stock/models.py:1311 stock/serializers.py:305
+#: build/serializers.py:206 build/serializers.py:655 order/models.py:305
+#: order/serializers.py:297 order/serializers.py:443 part/serializers.py:593
+#: part/serializers.py:1089 stock/models.py:507 stock/models.py:1311
+#: stock/serializers.py:305
msgid "Quantity must be greater than zero"
msgstr ""
@@ -1040,10 +1028,9 @@ msgstr ""
msgid "Integer quantity required, as the bill of materials contains trackable parts"
msgstr ""
-#: build/serializers.py:230 order/serializers.py:348 order/serializers.py:977
-#: stock/forms.py:78 stock/serializers.py:314
-#: templates/js/translated/order.js:610 templates/js/translated/stock.js:237
-#: templates/js/translated/stock.js:403
+#: build/serializers.py:230 order/serializers.py:456 order/serializers.py:1104
+#: stock/serializers.py:314 templates/js/translated/order.js:1064
+#: templates/js/translated/stock.js:238 templates/js/translated/stock.js:404
msgid "Serial Numbers"
msgstr "序列号"
@@ -1059,7 +1046,7 @@ msgstr ""
msgid "Automatically allocate required items with matching serial numbers"
msgstr ""
-#: build/serializers.py:280 stock/api.py:593
+#: build/serializers.py:280 stock/api.py:594
msgid "The following serial numbers already exist"
msgstr ""
@@ -1067,17 +1054,17 @@ msgstr ""
msgid "A list of build outputs must be provided"
msgstr ""
-#: build/serializers.py:376 order/serializers.py:321 order/serializers.py:426
-#: stock/forms.py:169 stock/serializers.py:325 stock/serializers.py:788
-#: stock/serializers.py:1029 stock/templates/stock/item_base.html:297
-#: templates/js/translated/barcode.js:437
-#: templates/js/translated/barcode.js:619 templates/js/translated/build.js:706
-#: templates/js/translated/build.js:1652 templates/js/translated/order.js:637
-#: templates/js/translated/order.js:2295 templates/js/translated/order.js:2398
-#: templates/js/translated/order.js:2406 templates/js/translated/order.js:2487
-#: templates/js/translated/part.js:180 templates/js/translated/stock.js:532
-#: templates/js/translated/stock.js:697 templates/js/translated/stock.js:904
-#: templates/js/translated/stock.js:1792 templates/js/translated/stock.js:2394
+#: build/serializers.py:376 order/serializers.py:429 order/serializers.py:534
+#: stock/serializers.py:325 stock/serializers.py:465 stock/serializers.py:830
+#: stock/serializers.py:1071 stock/templates/stock/item_base.html:297
+#: templates/js/translated/barcode.js:436
+#: templates/js/translated/barcode.js:618 templates/js/translated/build.js:750
+#: templates/js/translated/build.js:1701 templates/js/translated/order.js:1091
+#: templates/js/translated/order.js:2751 templates/js/translated/order.js:2854
+#: templates/js/translated/order.js:2862 templates/js/translated/order.js:2943
+#: templates/js/translated/part.js:180 templates/js/translated/stock.js:533
+#: templates/js/translated/stock.js:698 templates/js/translated/stock.js:905
+#: templates/js/translated/stock.js:1793 templates/js/translated/stock.js:2395
msgid "Location"
msgstr "地点"
@@ -1086,12 +1073,12 @@ msgid "Location for completed build outputs"
msgstr ""
#: build/serializers.py:383 build/templates/build/build_base.html:142
-#: build/templates/build/detail.html:62 order/models.py:603
-#: order/serializers.py:358 stock/templates/stock/item_base.html:187
-#: templates/js/translated/barcode.js:183 templates/js/translated/build.js:2392
-#: templates/js/translated/order.js:742 templates/js/translated/order.js:1001
-#: templates/js/translated/order.js:1705 templates/js/translated/stock.js:1767
-#: templates/js/translated/stock.js:2471 templates/js/translated/stock.js:2603
+#: build/templates/build/detail.html:62 order/models.py:605
+#: order/serializers.py:466 stock/templates/stock/item_base.html:187
+#: templates/js/translated/barcode.js:182 templates/js/translated/build.js:2441
+#: templates/js/translated/order.js:1198 templates/js/translated/order.js:1457
+#: templates/js/translated/order.js:2161 templates/js/translated/stock.js:1768
+#: templates/js/translated/stock.js:2472 templates/js/translated/stock.js:2604
msgid "Status"
msgstr "状态"
@@ -1100,108 +1087,124 @@ msgid "Accept Incomplete Allocation"
msgstr ""
#: build/serializers.py:390
-msgid "Complete ouputs if stock has not been fully allocated"
+msgid "Complete outputs if stock has not been fully allocated"
msgstr ""
-#: build/serializers.py:447
+#: build/serializers.py:460
+msgid "Remove Allocated Stock"
+msgstr ""
+
+#: build/serializers.py:461
+msgid "Subtract any stock which has already been allocated to this build"
+msgstr ""
+
+#: build/serializers.py:467
+msgid "Remove Incomplete Outputs"
+msgstr ""
+
+#: build/serializers.py:468
+msgid "Delete any build outputs which have not been completed"
+msgstr ""
+
+#: build/serializers.py:493
msgid "Accept Unallocated"
msgstr ""
-#: build/serializers.py:448
+#: build/serializers.py:494
msgid "Accept that stock items have not been fully allocated to this build order"
msgstr ""
-#: build/serializers.py:458 templates/js/translated/build.js:151
+#: build/serializers.py:504 templates/js/translated/build.js:195
msgid "Required stock has not been fully allocated"
msgstr "所需库存尚未完全分配"
-#: build/serializers.py:463
+#: build/serializers.py:509
msgid "Accept Incomplete"
msgstr ""
-#: build/serializers.py:464
+#: build/serializers.py:510
msgid "Accept that the required number of build outputs have not been completed"
msgstr ""
-#: build/serializers.py:474 templates/js/translated/build.js:155
+#: build/serializers.py:520 templates/js/translated/build.js:199
msgid "Required build quantity has not been completed"
msgstr "所需生产数量尚未完成"
-#: build/serializers.py:483
+#: build/serializers.py:529
msgid "Build order has incomplete outputs"
msgstr ""
-#: build/serializers.py:486 build/templates/build/build_base.html:95
+#: build/serializers.py:532 build/templates/build/build_base.html:95
msgid "No build outputs have been created for this build order"
msgstr ""
-#: build/serializers.py:514 build/serializers.py:563 part/models.py:2917
-#: part/models.py:3059
+#: build/serializers.py:560 build/serializers.py:609 part/models.py:2912
+#: part/models.py:3054
msgid "BOM Item"
msgstr ""
-#: build/serializers.py:524
+#: build/serializers.py:570
msgid "Build output"
msgstr ""
-#: build/serializers.py:533
+#: build/serializers.py:579
msgid "Build output must point to the same build"
msgstr ""
-#: build/serializers.py:580
+#: build/serializers.py:626
msgid "bom_item.part must point to the same part as the build order"
msgstr ""
-#: build/serializers.py:595 stock/serializers.py:642
+#: build/serializers.py:641 stock/serializers.py:684
msgid "Item must be in stock"
msgstr ""
-#: build/serializers.py:652 order/serializers.py:904
+#: build/serializers.py:698 order/serializers.py:1012
#, python-brace-format
msgid "Available quantity ({q}) exceeded"
msgstr ""
-#: build/serializers.py:658
+#: build/serializers.py:704
msgid "Build output must be specified for allocation of tracked parts"
msgstr ""
-#: build/serializers.py:665
+#: build/serializers.py:711
msgid "Build output cannot be specified for allocation of untracked parts"
msgstr ""
-#: build/serializers.py:670
+#: build/serializers.py:716
msgid "This stock item has already been allocated to this build output"
msgstr ""
-#: build/serializers.py:697 order/serializers.py:1147
+#: build/serializers.py:743 order/serializers.py:1274
msgid "Allocation items must be provided"
msgstr ""
-#: build/serializers.py:749
+#: build/serializers.py:795
msgid "Stock location where parts are to be sourced (leave blank to take from any location)"
msgstr ""
-#: build/serializers.py:757
+#: build/serializers.py:803
msgid "Exclude Location"
msgstr ""
-#: build/serializers.py:758
+#: build/serializers.py:804
msgid "Exclude stock items from this selected location"
msgstr ""
-#: build/serializers.py:763
+#: build/serializers.py:809
msgid "Interchangeable Stock"
msgstr ""
-#: build/serializers.py:764
+#: build/serializers.py:810
msgid "Stock items in multiple locations can be used interchangeably"
msgstr ""
-#: build/serializers.py:769
+#: build/serializers.py:815
msgid "Substitute Stock"
msgstr ""
-#: build/serializers.py:770
+#: build/serializers.py:816
msgid "Allow allocation of substitute parts"
msgstr ""
@@ -1228,7 +1231,6 @@ msgid "Edit Build"
msgstr "编辑生产"
#: build/templates/build/build_base.html:56
-#: build/templates/build/build_base.html:220 build/views.py:53
msgid "Cancel Build"
msgstr "取消生产"
@@ -1272,13 +1274,13 @@ msgid "Stock has not been fully allocated to this Build Order"
msgstr ""
#: build/templates/build/build_base.html:151
-#: build/templates/build/detail.html:131 order/models.py:873
-#: order/templates/order/order_base.html:156
+#: build/templates/build/detail.html:131 order/models.py:875
+#: order/templates/order/order_base.html:162
#: order/templates/order/sales_order_base.html:163
#: report/templates/report/inventree_build_order_base.html:126
-#: templates/js/translated/build.js:2432 templates/js/translated/order.js:1018
-#: templates/js/translated/order.js:1317 templates/js/translated/order.js:1721
-#: templates/js/translated/order.js:2676 templates/js/translated/part.js:971
+#: templates/js/translated/build.js:2481 templates/js/translated/order.js:1474
+#: templates/js/translated/order.js:1773 templates/js/translated/order.js:2177
+#: templates/js/translated/order.js:3132 templates/js/translated/part.js:971
msgid "Target Date"
msgstr "预计日期"
@@ -1305,14 +1307,14 @@ msgid "Completed"
msgstr "已完成"
#: build/templates/build/build_base.html:176
-#: build/templates/build/detail.html:94 order/models.py:1052
-#: order/models.py:1148 order/models.py:1247
+#: build/templates/build/detail.html:94 order/models.py:1054
+#: order/models.py:1150 order/models.py:1249
#: order/templates/order/sales_order_base.html:9
#: order/templates/order/sales_order_base.html:28
#: report/templates/report/inventree_build_order_base.html:136
#: report/templates/report/inventree_so_report.html:77
#: stock/templates/stock/item_base.html:291
-#: templates/js/translated/order.js:1660
+#: templates/js/translated/order.js:2116
msgid "Sales Order"
msgstr "销售订单"
@@ -1322,19 +1324,15 @@ msgstr "销售订单"
msgid "Issued By"
msgstr "发布者"
-#: build/templates/build/build_base.html:228
+#: build/templates/build/build_base.html:230
#: build/templates/build/sidebar.html:12
msgid "Incomplete Outputs"
msgstr "未完成输出"
-#: build/templates/build/build_base.html:229
+#: build/templates/build/build_base.html:231
msgid "Build Order cannot be completed as incomplete build outputs remain"
msgstr ""
-#: build/templates/build/cancel.html:5
-msgid "Are you sure you wish to cancel this build?"
-msgstr "是否确定取消生产?"
-
#: build/templates/build/delete_build.html:5
msgid "Are you sure you want to delete this build?"
msgstr ""
@@ -1351,8 +1349,8 @@ msgstr ""
msgid "Stock can be taken from any available location."
msgstr ""
-#: build/templates/build/detail.html:49 order/models.py:988 stock/forms.py:133
-#: templates/js/translated/order.js:743 templates/js/translated/order.js:1359
+#: build/templates/build/detail.html:49 order/models.py:990
+#: templates/js/translated/order.js:1199 templates/js/translated/order.js:1815
msgid "Destination"
msgstr ""
@@ -1366,19 +1364,19 @@ msgstr ""
#: build/templates/build/detail.html:80
#: stock/templates/stock/item_base.html:315
-#: templates/js/translated/build.js:1139
+#: templates/js/translated/build.js:1183
#: templates/js/translated/model_renderers.js:112
-#: templates/js/translated/stock.js:970 templates/js/translated/stock.js:1781
-#: templates/js/translated/stock.js:2610
+#: templates/js/translated/stock.js:971 templates/js/translated/stock.js:1782
+#: templates/js/translated/stock.js:2611
#: templates/js/translated/table_filters.js:151
#: templates/js/translated/table_filters.js:242
msgid "Batch"
msgstr ""
#: build/templates/build/detail.html:126
-#: order/templates/order/order_base.html:143
+#: order/templates/order/order_base.html:149
#: order/templates/order/sales_order_base.html:157
-#: templates/js/translated/build.js:2400
+#: templates/js/translated/build.js:2449
msgid "Created"
msgstr "已创建"
@@ -1398,7 +1396,7 @@ msgstr "子生产订单"
msgid "Allocate Stock to Build"
msgstr "为生产分配库存"
-#: build/templates/build/detail.html:176 templates/js/translated/build.js:1866
+#: build/templates/build/detail.html:176 templates/js/translated/build.js:1915
msgid "Unallocate stock"
msgstr "未分配库存"
@@ -1428,8 +1426,8 @@ msgstr "订单所需部件"
#: build/templates/build/detail.html:187
#: company/templates/company/detail.html:37
-#: company/templates/company/detail.html:84 order/views.py:463
-#: part/templates/part/category.html:174
+#: company/templates/company/detail.html:84
+#: part/templates/part/category.html:177 templates/js/translated/order.js:804
msgid "Order Parts"
msgstr "订购商品"
@@ -1553,11 +1551,7 @@ msgstr ""
msgid "Completed Outputs"
msgstr ""
-#: build/views.py:73
-msgid "Build was cancelled"
-msgstr "生产已取消"
-
-#: build/views.py:114
+#: build/views.py:81
msgid "Delete Build Order"
msgstr "删除生产订单"
@@ -1598,856 +1592,848 @@ msgstr ""
msgid "Select {name} file to upload"
msgstr ""
-#: common/models.py:381
+#: common/models.py:387
msgid "Settings key (must be unique - case insensitive)"
msgstr ""
-#: common/models.py:383
+#: common/models.py:389
msgid "Settings value"
msgstr ""
-#: common/models.py:424
+#: common/models.py:430
msgid "Chosen value is not a valid option"
msgstr ""
-#: common/models.py:444
+#: common/models.py:450
msgid "Value must be a boolean value"
msgstr ""
-#: common/models.py:455
+#: common/models.py:461
msgid "Value must be an integer value"
msgstr ""
-#: common/models.py:504
+#: common/models.py:510
msgid "Key string must be unique"
msgstr ""
-#: common/models.py:655
+#: common/models.py:742
msgid "No group"
msgstr ""
-#: common/models.py:697
+#: common/models.py:784
msgid "Restart required"
msgstr ""
-#: common/models.py:698
+#: common/models.py:785
msgid "A setting has been changed which requires a server restart"
msgstr ""
-#: common/models.py:705
+#: common/models.py:792
msgid "Server Instance Name"
msgstr ""
-#: common/models.py:707
+#: common/models.py:794
msgid "String descriptor for the server instance"
msgstr ""
-#: common/models.py:711
+#: common/models.py:798
msgid "Use instance name"
msgstr ""
-#: common/models.py:712
+#: common/models.py:799
msgid "Use the instance name in the title-bar"
msgstr ""
-#: common/models.py:718
+#: common/models.py:805
msgid "Restrict showing `about`"
msgstr ""
-#: common/models.py:719
+#: common/models.py:806
msgid "Show the `about` modal only to superusers"
msgstr ""
-#: common/models.py:725 company/models.py:100 company/models.py:101
+#: common/models.py:812 company/models.py:100 company/models.py:101
msgid "Company name"
msgstr "公司名称"
-#: common/models.py:726
+#: common/models.py:813
msgid "Internal company name"
msgstr "内部公司名称"
-#: common/models.py:731
+#: common/models.py:818
msgid "Base URL"
msgstr ""
-#: common/models.py:732
+#: common/models.py:819
msgid "Base URL for server instance"
msgstr ""
-#: common/models.py:738
+#: common/models.py:825
msgid "Default Currency"
msgstr ""
-#: common/models.py:739
+#: common/models.py:826
msgid "Default currency"
msgstr ""
-#: common/models.py:745
+#: common/models.py:832
msgid "Download from URL"
msgstr ""
-#: common/models.py:746
+#: common/models.py:833
msgid "Allow download of remote images and files from external URL"
msgstr ""
-#: common/models.py:752 templates/InvenTree/settings/sidebar.html:33
+#: common/models.py:839 templates/InvenTree/settings/sidebar.html:33
msgid "Barcode Support"
msgstr ""
-#: common/models.py:753
+#: common/models.py:840
msgid "Enable barcode scanner support"
msgstr "启用条形码扫描支持"
-#: common/models.py:759
+#: common/models.py:846
msgid "IPN Regex"
msgstr ""
-#: common/models.py:760
+#: common/models.py:847
msgid "Regular expression pattern for matching Part IPN"
msgstr ""
-#: common/models.py:764
+#: common/models.py:851
msgid "Allow Duplicate IPN"
msgstr ""
-#: common/models.py:765
+#: common/models.py:852
msgid "Allow multiple parts to share the same IPN"
msgstr ""
-#: common/models.py:771
+#: common/models.py:858
msgid "Allow Editing IPN"
msgstr ""
-#: common/models.py:772
+#: common/models.py:859
msgid "Allow changing the IPN value while editing a part"
msgstr ""
-#: common/models.py:778
+#: common/models.py:865
msgid "Copy Part BOM Data"
msgstr ""
-#: common/models.py:779
+#: common/models.py:866
msgid "Copy BOM data by default when duplicating a part"
msgstr ""
-#: common/models.py:785
+#: common/models.py:872
msgid "Copy Part Parameter Data"
msgstr ""
-#: common/models.py:786
+#: common/models.py:873
msgid "Copy parameter data by default when duplicating a part"
msgstr ""
-#: common/models.py:792
+#: common/models.py:879
msgid "Copy Part Test Data"
msgstr ""
-#: common/models.py:793
+#: common/models.py:880
msgid "Copy test data by default when duplicating a part"
msgstr ""
-#: common/models.py:799
+#: common/models.py:886
msgid "Copy Category Parameter Templates"
msgstr ""
-#: common/models.py:800
+#: common/models.py:887
msgid "Copy category parameter templates when creating a part"
msgstr ""
-#: common/models.py:806 part/models.py:2598 report/models.py:183
+#: common/models.py:893 part/models.py:2593 report/models.py:183
#: templates/js/translated/table_filters.js:38
#: templates/js/translated/table_filters.js:444
msgid "Template"
msgstr "模板"
-#: common/models.py:807
+#: common/models.py:894
msgid "Parts are templates by default"
msgstr ""
-#: common/models.py:813 part/models.py:964 templates/js/translated/bom.js:1335
+#: common/models.py:900 part/models.py:959 templates/js/translated/bom.js:1335
#: templates/js/translated/table_filters.js:168
#: templates/js/translated/table_filters.js:460
msgid "Assembly"
msgstr "组装"
-#: common/models.py:814
+#: common/models.py:901
msgid "Parts can be assembled from other components by default"
msgstr ""
-#: common/models.py:820 part/models.py:970
+#: common/models.py:907 part/models.py:965
#: templates/js/translated/table_filters.js:464
msgid "Component"
msgstr "组件"
-#: common/models.py:821
+#: common/models.py:908
msgid "Parts can be used as sub-components by default"
msgstr ""
-#: common/models.py:827 part/models.py:981
+#: common/models.py:914 part/models.py:976
msgid "Purchaseable"
msgstr "可购买"
-#: common/models.py:828
+#: common/models.py:915
msgid "Parts are purchaseable by default"
msgstr "商品默认可购买"
-#: common/models.py:834 part/models.py:986
+#: common/models.py:921 part/models.py:981
#: templates/js/translated/table_filters.js:472
msgid "Salable"
msgstr "可销售"
-#: common/models.py:835
+#: common/models.py:922
msgid "Parts are salable by default"
msgstr "商品默认可销售"
-#: common/models.py:841 part/models.py:976
+#: common/models.py:928 part/models.py:971
#: templates/js/translated/table_filters.js:46
#: templates/js/translated/table_filters.js:100
#: templates/js/translated/table_filters.js:476
msgid "Trackable"
msgstr "可追踪"
-#: common/models.py:842
+#: common/models.py:929
msgid "Parts are trackable by default"
msgstr "商品默认可跟踪"
-#: common/models.py:848 part/models.py:996
+#: common/models.py:935 part/models.py:991
#: part/templates/part/part_base.html:151
#: templates/js/translated/table_filters.js:42
msgid "Virtual"
msgstr "虚拟"
-#: common/models.py:849
+#: common/models.py:936
msgid "Parts are virtual by default"
msgstr "商品默认是虚拟的"
-#: common/models.py:855
+#: common/models.py:942
msgid "Show Import in Views"
msgstr "视图中显示导入"
-#: common/models.py:856
+#: common/models.py:943
msgid "Display the import wizard in some part views"
msgstr "在一些商品视图中显示导入向导"
-#: common/models.py:862
+#: common/models.py:949
msgid "Show Price in Forms"
msgstr "在表格中显示价格"
-#: common/models.py:863
+#: common/models.py:950
msgid "Display part price in some forms"
msgstr "以某些表格显示商品价格"
-#: common/models.py:874
+#: common/models.py:961
msgid "Show Price in BOM"
msgstr ""
-#: common/models.py:875
+#: common/models.py:962
msgid "Include pricing information in BOM tables"
msgstr ""
-#: common/models.py:886
+#: common/models.py:973
msgid "Show Price History"
msgstr ""
-#: common/models.py:887
+#: common/models.py:974
msgid "Display historical pricing for Part"
msgstr ""
-#: common/models.py:893
+#: common/models.py:980
msgid "Show related parts"
msgstr "显示相关商品"
-#: common/models.py:894
+#: common/models.py:981
msgid "Display related parts for a part"
msgstr ""
-#: common/models.py:900
+#: common/models.py:987
msgid "Create initial stock"
msgstr "创建初始库存"
-#: common/models.py:901
+#: common/models.py:988
msgid "Create initial stock on part creation"
msgstr ""
-#: common/models.py:907
+#: common/models.py:994
msgid "Internal Prices"
msgstr "内部价格"
-#: common/models.py:908
+#: common/models.py:995
msgid "Enable internal prices for parts"
msgstr "启用内部商品价格"
-#: common/models.py:914
+#: common/models.py:1001
msgid "Internal Price as BOM-Price"
msgstr "内部价格为BOM价格"
-#: common/models.py:915
+#: common/models.py:1002
msgid "Use the internal price (if set) in BOM-price calculations"
msgstr "在 BOM价格计算中使用内部价格(如设置)"
-#: common/models.py:921
+#: common/models.py:1008
msgid "Part Name Display Format"
msgstr ""
-#: common/models.py:922
+#: common/models.py:1009
msgid "Format to display the part name"
msgstr ""
-#: common/models.py:929
+#: common/models.py:1016
msgid "Enable Reports"
msgstr ""
-#: common/models.py:930
+#: common/models.py:1017
msgid "Enable generation of reports"
msgstr ""
-#: common/models.py:936 templates/stats.html:25
+#: common/models.py:1023 templates/stats.html:25
msgid "Debug Mode"
msgstr "调试模式"
-#: common/models.py:937
+#: common/models.py:1024
msgid "Generate reports in debug mode (HTML output)"
msgstr "在调试模式生成报告(HTML输出)"
-#: common/models.py:943
+#: common/models.py:1030
msgid "Page Size"
msgstr "页面大小"
-#: common/models.py:944
+#: common/models.py:1031
msgid "Default page size for PDF reports"
msgstr "PDF 报表默认页面大小"
-#: common/models.py:954
+#: common/models.py:1041
msgid "Test Reports"
msgstr "测试报表"
-#: common/models.py:955
+#: common/models.py:1042
msgid "Enable generation of test reports"
msgstr "启用生成测试报表"
-#: common/models.py:961
+#: common/models.py:1048
msgid "Batch Code Template"
msgstr ""
-#: common/models.py:962
+#: common/models.py:1049
msgid "Template for generating default batch codes for stock items"
msgstr ""
-#: common/models.py:967
+#: common/models.py:1054
msgid "Stock Expiry"
msgstr "库存到期"
-#: common/models.py:968
+#: common/models.py:1055
msgid "Enable stock expiry functionality"
msgstr "启用库存到期功能"
-#: common/models.py:974
+#: common/models.py:1061
msgid "Sell Expired Stock"
msgstr "销售过期库存"
-#: common/models.py:975
+#: common/models.py:1062
msgid "Allow sale of expired stock"
msgstr "允许销售过期库存"
-#: common/models.py:981
+#: common/models.py:1068
msgid "Stock Stale Time"
msgstr ""
-#: common/models.py:982
+#: common/models.py:1069
msgid "Number of days stock items are considered stale before expiring"
msgstr ""
-#: common/models.py:984
+#: common/models.py:1071
msgid "days"
msgstr "天"
-#: common/models.py:989
+#: common/models.py:1076
msgid "Build Expired Stock"
msgstr ""
-#: common/models.py:990
+#: common/models.py:1077
msgid "Allow building with expired stock"
msgstr ""
-#: common/models.py:996
+#: common/models.py:1083
msgid "Stock Ownership Control"
msgstr "库存所有权控制"
-#: common/models.py:997
+#: common/models.py:1084
msgid "Enable ownership control over stock locations and items"
msgstr ""
-#: common/models.py:1003
+#: common/models.py:1090
msgid "Build Order Reference Prefix"
msgstr "生产订单参考前缀"
-#: common/models.py:1004
+#: common/models.py:1091
msgid "Prefix value for build order reference"
msgstr ""
-#: common/models.py:1009
+#: common/models.py:1096
msgid "Build Order Reference Regex"
msgstr ""
-#: common/models.py:1010
+#: common/models.py:1097
msgid "Regular expression pattern for matching build order reference"
msgstr ""
-#: common/models.py:1014
+#: common/models.py:1101
msgid "Sales Order Reference Prefix"
msgstr ""
-#: common/models.py:1015
+#: common/models.py:1102
msgid "Prefix value for sales order reference"
msgstr ""
-#: common/models.py:1020
+#: common/models.py:1107
msgid "Purchase Order Reference Prefix"
msgstr ""
-#: common/models.py:1021
+#: common/models.py:1108
msgid "Prefix value for purchase order reference"
msgstr ""
-#: common/models.py:1027
+#: common/models.py:1114
msgid "Enable password forgot"
msgstr ""
-#: common/models.py:1028
+#: common/models.py:1115
msgid "Enable password forgot function on the login pages"
msgstr ""
-#: common/models.py:1034
+#: common/models.py:1121
msgid "Enable registration"
msgstr ""
-#: common/models.py:1035
+#: common/models.py:1122
msgid "Enable self-registration for users on the login pages"
msgstr ""
-#: common/models.py:1041
+#: common/models.py:1128
msgid "Enable SSO"
msgstr ""
-#: common/models.py:1042
+#: common/models.py:1129
msgid "Enable SSO on the login pages"
msgstr ""
-#: common/models.py:1048
+#: common/models.py:1135
msgid "Email required"
msgstr ""
-#: common/models.py:1049
+#: common/models.py:1136
msgid "Require user to supply mail on signup"
msgstr ""
-#: common/models.py:1055
+#: common/models.py:1142
msgid "Auto-fill SSO users"
msgstr ""
-#: common/models.py:1056
+#: common/models.py:1143
msgid "Automatically fill out user-details from SSO account-data"
msgstr ""
-#: common/models.py:1062
+#: common/models.py:1149
msgid "Mail twice"
msgstr ""
-#: common/models.py:1063
+#: common/models.py:1150
msgid "On signup ask users twice for their mail"
msgstr ""
-#: common/models.py:1069
+#: common/models.py:1156
msgid "Password twice"
msgstr ""
-#: common/models.py:1070
+#: common/models.py:1157
msgid "On signup ask users twice for their password"
msgstr ""
-#: common/models.py:1076
+#: common/models.py:1163
msgid "Group on signup"
msgstr ""
-#: common/models.py:1077
+#: common/models.py:1164
msgid "Group to which new users are assigned on registration"
msgstr ""
-#: common/models.py:1083
+#: common/models.py:1170
msgid "Enforce MFA"
msgstr ""
-#: common/models.py:1084
+#: common/models.py:1171
msgid "Users must use multifactor security."
msgstr ""
-#: common/models.py:1090
+#: common/models.py:1177
msgid "Check plugins on startup"
msgstr ""
-#: common/models.py:1091
+#: common/models.py:1178
msgid "Check that all plugins are installed on startup - enable in container enviroments"
msgstr ""
-#: common/models.py:1099
+#: common/models.py:1186
msgid "Enable URL integration"
msgstr ""
-#: common/models.py:1100
+#: common/models.py:1187
msgid "Enable plugins to add URL routes"
msgstr ""
-#: common/models.py:1107
+#: common/models.py:1194
msgid "Enable navigation integration"
msgstr ""
-#: common/models.py:1108
+#: common/models.py:1195
msgid "Enable plugins to integrate into navigation"
msgstr ""
-#: common/models.py:1115
+#: common/models.py:1202
msgid "Enable app integration"
msgstr ""
-#: common/models.py:1116
+#: common/models.py:1203
msgid "Enable plugins to add apps"
msgstr ""
-#: common/models.py:1123
+#: common/models.py:1210
msgid "Enable schedule integration"
msgstr ""
-#: common/models.py:1124
+#: common/models.py:1211
msgid "Enable plugins to run scheduled tasks"
msgstr ""
-#: common/models.py:1131
+#: common/models.py:1218
msgid "Enable event integration"
msgstr ""
-#: common/models.py:1132
+#: common/models.py:1219
msgid "Enable plugins to respond to internal events"
msgstr ""
-#: common/models.py:1147 common/models.py:1449
+#: common/models.py:1234 common/models.py:1528
msgid "Settings key (must be unique - case insensitive"
msgstr ""
-#: common/models.py:1178
+#: common/models.py:1265
msgid "Show subscribed parts"
msgstr ""
-#: common/models.py:1179
+#: common/models.py:1266
msgid "Show subscribed parts on the homepage"
msgstr ""
-#: common/models.py:1185
+#: common/models.py:1272
msgid "Show subscribed categories"
msgstr ""
-#: common/models.py:1186
+#: common/models.py:1273
msgid "Show subscribed part categories on the homepage"
msgstr ""
-#: common/models.py:1192
+#: common/models.py:1279
msgid "Show latest parts"
msgstr "显示最近商品"
-#: common/models.py:1193
+#: common/models.py:1280
msgid "Show latest parts on the homepage"
msgstr "在主页上显示最近商品"
-#: common/models.py:1199
+#: common/models.py:1286
msgid "Recent Part Count"
msgstr ""
-#: common/models.py:1200
+#: common/models.py:1287
msgid "Number of recent parts to display on index page"
msgstr ""
-#: common/models.py:1206
+#: common/models.py:1293
msgid "Show unvalidated BOMs"
msgstr ""
-#: common/models.py:1207
+#: common/models.py:1294
msgid "Show BOMs that await validation on the homepage"
msgstr ""
-#: common/models.py:1213
+#: common/models.py:1300
msgid "Show recent stock changes"
msgstr ""
-#: common/models.py:1214
+#: common/models.py:1301
msgid "Show recently changed stock items on the homepage"
msgstr ""
-#: common/models.py:1220
+#: common/models.py:1307
msgid "Recent Stock Count"
msgstr ""
-#: common/models.py:1221
+#: common/models.py:1308
msgid "Number of recent stock items to display on index page"
msgstr ""
-#: common/models.py:1227
+#: common/models.py:1314
msgid "Show low stock"
msgstr ""
-#: common/models.py:1228
+#: common/models.py:1315
msgid "Show low stock items on the homepage"
msgstr ""
-#: common/models.py:1234
+#: common/models.py:1321
msgid "Show depleted stock"
msgstr ""
-#: common/models.py:1235
+#: common/models.py:1322
msgid "Show depleted stock items on the homepage"
msgstr ""
-#: common/models.py:1241
+#: common/models.py:1328
msgid "Show needed stock"
msgstr ""
-#: common/models.py:1242
+#: common/models.py:1329
msgid "Show stock items needed for builds on the homepage"
msgstr ""
-#: common/models.py:1248
+#: common/models.py:1335
msgid "Show expired stock"
msgstr ""
-#: common/models.py:1249
+#: common/models.py:1336
msgid "Show expired stock items on the homepage"
msgstr ""
-#: common/models.py:1255
+#: common/models.py:1342
msgid "Show stale stock"
msgstr ""
-#: common/models.py:1256
+#: common/models.py:1343
msgid "Show stale stock items on the homepage"
msgstr ""
-#: common/models.py:1262
+#: common/models.py:1349
msgid "Show pending builds"
msgstr ""
-#: common/models.py:1263
+#: common/models.py:1350
msgid "Show pending builds on the homepage"
msgstr ""
-#: common/models.py:1269
+#: common/models.py:1356
msgid "Show overdue builds"
msgstr "显示逾期生产"
-#: common/models.py:1270
+#: common/models.py:1357
msgid "Show overdue builds on the homepage"
msgstr "在主页上显示逾期的生产"
-#: common/models.py:1276
+#: common/models.py:1363
msgid "Show outstanding POs"
msgstr ""
-#: common/models.py:1277
+#: common/models.py:1364
msgid "Show outstanding POs on the homepage"
msgstr ""
-#: common/models.py:1283
+#: common/models.py:1370
msgid "Show overdue POs"
msgstr ""
-#: common/models.py:1284
+#: common/models.py:1371
msgid "Show overdue POs on the homepage"
msgstr ""
-#: common/models.py:1290
+#: common/models.py:1377
msgid "Show outstanding SOs"
msgstr ""
-#: common/models.py:1291
+#: common/models.py:1378
msgid "Show outstanding SOs on the homepage"
msgstr ""
-#: common/models.py:1297
+#: common/models.py:1384
msgid "Show overdue SOs"
msgstr ""
-#: common/models.py:1298
+#: common/models.py:1385
msgid "Show overdue SOs on the homepage"
msgstr ""
-#: common/models.py:1304
-msgid "Enable email notifications"
-msgstr ""
-
-#: common/models.py:1305
-msgid "Allow sending of emails for event notifications"
-msgstr ""
-
-#: common/models.py:1311
+#: common/models.py:1390
msgid "Enable label printing"
msgstr ""
-#: common/models.py:1312
+#: common/models.py:1391
msgid "Enable label printing from the web interface"
msgstr ""
-#: common/models.py:1318
+#: common/models.py:1397
msgid "Inline label display"
msgstr "内嵌标签显示"
-#: common/models.py:1319
+#: common/models.py:1398
msgid "Display PDF labels in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 标签,而不是以文件形式下载"
-#: common/models.py:1325
+#: common/models.py:1404
msgid "Inline report display"
msgstr ""
-#: common/models.py:1326
+#: common/models.py:1405
msgid "Display PDF reports in the browser, instead of downloading as a file"
msgstr "在浏览器中显示 PDF 报告,而不是以文件形式下载"
-#: common/models.py:1332
+#: common/models.py:1411
msgid "Search Parts"
msgstr ""
-#: common/models.py:1333
+#: common/models.py:1412
msgid "Display parts in search preview window"
msgstr ""
-#: common/models.py:1339
+#: common/models.py:1418
msgid "Search Categories"
msgstr ""
-#: common/models.py:1340
+#: common/models.py:1419
msgid "Display part categories in search preview window"
msgstr ""
-#: common/models.py:1346
+#: common/models.py:1425
msgid "Search Stock"
msgstr ""
-#: common/models.py:1347
+#: common/models.py:1426
msgid "Display stock items in search preview window"
msgstr ""
-#: common/models.py:1353
+#: common/models.py:1432
msgid "Search Locations"
msgstr ""
-#: common/models.py:1354
+#: common/models.py:1433
msgid "Display stock locations in search preview window"
msgstr ""
-#: common/models.py:1360
+#: common/models.py:1439
msgid "Search Companies"
msgstr ""
-#: common/models.py:1361
+#: common/models.py:1440
msgid "Display companies in search preview window"
msgstr ""
-#: common/models.py:1367
+#: common/models.py:1446
msgid "Search Purchase Orders"
msgstr ""
-#: common/models.py:1368
+#: common/models.py:1447
msgid "Display purchase orders in search preview window"
msgstr ""
-#: common/models.py:1374
+#: common/models.py:1453
msgid "Search Sales Orders"
msgstr ""
-#: common/models.py:1375
+#: common/models.py:1454
msgid "Display sales orders in search preview window"
msgstr ""
-#: common/models.py:1381
+#: common/models.py:1460
msgid "Search Preview Results"
msgstr "搜索预览结果"
-#: common/models.py:1382
+#: common/models.py:1461
msgid "Number of results to show in each section of the search preview window"
msgstr ""
-#: common/models.py:1388
+#: common/models.py:1467
msgid "Hide Inactive Parts"
msgstr ""
-#: common/models.py:1389
+#: common/models.py:1468
msgid "Hide inactive parts in search preview window"
msgstr ""
-#: common/models.py:1395
+#: common/models.py:1474
msgid "Show Quantity in Forms"
msgstr "在表格中显示数量"
-#: common/models.py:1396
+#: common/models.py:1475
msgid "Display available part quantity in some forms"
msgstr "在某些表格中显示可用的商品数量"
-#: common/models.py:1402
+#: common/models.py:1481
msgid "Escape Key Closes Forms"
msgstr ""
-#: common/models.py:1403
+#: common/models.py:1482
msgid "Use the escape key to close modal forms"
msgstr ""
-#: common/models.py:1409
+#: common/models.py:1488
msgid "Fixed Navbar"
msgstr ""
-#: common/models.py:1410
+#: common/models.py:1489
msgid "The navbar position is fixed to the top of the screen"
msgstr ""
-#: common/models.py:1416
+#: common/models.py:1495
msgid "Date Format"
msgstr ""
-#: common/models.py:1417
+#: common/models.py:1496
msgid "Preferred format for displaying dates"
msgstr ""
-#: common/models.py:1431 part/templates/part/detail.html:39
+#: common/models.py:1510 part/templates/part/detail.html:39
msgid "Part Scheduling"
msgstr ""
-#: common/models.py:1432
+#: common/models.py:1511
msgid "Display part scheduling information"
msgstr ""
-#: common/models.py:1490 company/forms.py:43
+#: common/models.py:1569 company/forms.py:43
msgid "Price break quantity"
msgstr ""
-#: common/models.py:1497 company/serializers.py:264
-#: company/templates/company/supplier_part.html:256 order/models.py:900
-#: templates/js/translated/part.js:998 templates/js/translated/part.js:1986
+#: common/models.py:1576 company/serializers.py:264
+#: company/templates/company/supplier_part.html:263 order/models.py:902
+#: templates/js/translated/part.js:998 templates/js/translated/part.js:1974
msgid "Price"
msgstr "价格"
-#: common/models.py:1498
+#: common/models.py:1577
msgid "Unit price at specified quantity"
msgstr ""
-#: common/models.py:1655 common/models.py:1794
+#: common/models.py:1734 common/models.py:1873
msgid "Endpoint"
msgstr ""
-#: common/models.py:1656
+#: common/models.py:1735
msgid "Endpoint at which this webhook is received"
msgstr ""
-#: common/models.py:1665
+#: common/models.py:1744
msgid "Name for this webhook"
msgstr ""
-#: common/models.py:1670 part/models.py:991 plugin/models.py:46
+#: common/models.py:1749 part/models.py:986 plugin/models.py:47
#: templates/js/translated/table_filters.js:34
#: templates/js/translated/table_filters.js:96
#: templates/js/translated/table_filters.js:308
@@ -2455,77 +2441,77 @@ msgstr ""
msgid "Active"
msgstr ""
-#: common/models.py:1671
+#: common/models.py:1750
msgid "Is this webhook active"
msgstr ""
-#: common/models.py:1685
+#: common/models.py:1764
msgid "Token"
msgstr ""
-#: common/models.py:1686
+#: common/models.py:1765
msgid "Token for access"
msgstr ""
-#: common/models.py:1693
+#: common/models.py:1772
msgid "Secret"
msgstr ""
-#: common/models.py:1694
+#: common/models.py:1773
msgid "Shared secret for HMAC"
msgstr ""
-#: common/models.py:1761
+#: common/models.py:1840
msgid "Message ID"
msgstr ""
-#: common/models.py:1762
+#: common/models.py:1841
msgid "Unique identifier for this message"
msgstr ""
-#: common/models.py:1770
+#: common/models.py:1849
msgid "Host"
msgstr ""
-#: common/models.py:1771
+#: common/models.py:1850
msgid "Host from which this message was received"
msgstr ""
-#: common/models.py:1778
+#: common/models.py:1857
msgid "Header"
msgstr ""
-#: common/models.py:1779
+#: common/models.py:1858
msgid "Header of this message"
msgstr ""
-#: common/models.py:1785
+#: common/models.py:1864
msgid "Body"
msgstr ""
-#: common/models.py:1786
+#: common/models.py:1865
msgid "Body of this message"
msgstr ""
-#: common/models.py:1795
+#: common/models.py:1874
msgid "Endpoint on which this message was received"
msgstr ""
-#: common/models.py:1800
+#: common/models.py:1879
msgid "Worked on"
msgstr ""
-#: common/models.py:1801
+#: common/models.py:1880
msgid "Was the work on this message finished?"
msgstr ""
#: common/views.py:93 order/templates/order/purchase_order_detail.html:23
-#: order/views.py:243 part/views.py:206
+#: order/views.py:120 part/views.py:206
#: templates/patterns/wizard/upload.html:37
msgid "Upload File"
msgstr "上传文件"
-#: common/views.py:94 order/views.py:244
+#: common/views.py:94 order/views.py:121
#: part/templates/part/import_wizard/ajax_match_fields.html:45
#: part/views.py:207 templates/patterns/wizard/match_fields.html:51
msgid "Match Fields"
@@ -2567,7 +2553,7 @@ msgstr "公司简介"
msgid "Description of the company"
msgstr "公司简介"
-#: company/models.py:112 company/templates/company/company_base.html:97
+#: company/models.py:112 company/templates/company/company_base.html:100
#: templates/InvenTree/settings/plugin_settings.html:55
#: templates/js/translated/company.js:349
msgid "Website"
@@ -2577,7 +2563,7 @@ msgstr "网站"
msgid "Company website URL"
msgstr "公司网站"
-#: company/models.py:117 company/templates/company/company_base.html:115
+#: company/models.py:117 company/templates/company/company_base.html:118
msgid "Address"
msgstr "地址"
@@ -2593,7 +2579,7 @@ msgstr "电话号码"
msgid "Contact phone number"
msgstr "联系电话"
-#: company/models.py:125 company/templates/company/company_base.html:129
+#: company/models.py:125 company/templates/company/company_base.html:132
#: templates/InvenTree/settings/user.html:48
msgid "Email"
msgstr "电子邮件"
@@ -2602,7 +2588,7 @@ msgstr "电子邮件"
msgid "Contact email address"
msgstr "联系人电子邮件"
-#: company/models.py:128 company/templates/company/company_base.html:136
+#: company/models.py:128 company/templates/company/company_base.html:139
msgid "Contact"
msgstr "联系人"
@@ -2614,7 +2600,7 @@ msgstr ""
msgid "Link to external company information"
msgstr "链接到外部公司信息"
-#: company/models.py:139 part/models.py:883
+#: company/models.py:139 part/models.py:878
msgid "Image"
msgstr "图片"
@@ -2643,7 +2629,7 @@ msgid "Does this company manufacture parts?"
msgstr "该公司制造商品吗?"
#: company/models.py:152 company/serializers.py:270
-#: company/templates/company/company_base.html:103 part/serializers.py:156
+#: company/templates/company/company_base.html:106 part/serializers.py:156
#: part/serializers.py:188 stock/serializers.py:179
msgid "Currency"
msgstr "货币"
@@ -2652,18 +2638,18 @@ msgstr "货币"
msgid "Default currency used for this company"
msgstr "该公司使用的默认货币"
-#: company/models.py:320 company/models.py:535 stock/models.py:611
+#: company/models.py:317 company/models.py:532 stock/models.py:611
#: stock/templates/stock/item_base.html:142 templates/js/translated/bom.js:541
msgid "Base Part"
msgstr ""
-#: company/models.py:324 company/models.py:539
+#: company/models.py:321 company/models.py:536
msgid "Select part"
msgstr "选择商品"
-#: company/models.py:335 company/templates/company/company_base.html:73
-#: company/templates/company/manufacturer_part.html:92
-#: company/templates/company/supplier_part.html:97
+#: company/models.py:332 company/templates/company/company_base.html:76
+#: company/templates/company/manufacturer_part.html:90
+#: company/templates/company/supplier_part.html:103
#: stock/templates/stock/item_base.html:364
#: templates/js/translated/company.js:333
#: templates/js/translated/company.js:517
@@ -2672,139 +2658,138 @@ msgstr "选择商品"
msgid "Manufacturer"
msgstr "制造商"
-#: company/models.py:336 templates/js/translated/part.js:236
+#: company/models.py:333 templates/js/translated/part.js:236
msgid "Select manufacturer"
msgstr "选择制造商"
-#: company/models.py:342 company/templates/company/manufacturer_part.html:97
-#: company/templates/company/supplier_part.html:105
+#: company/models.py:339 company/templates/company/manufacturer_part.html:102
+#: company/templates/company/supplier_part.html:111
#: templates/js/translated/company.js:533
-#: templates/js/translated/company.js:818 templates/js/translated/order.js:1237
+#: templates/js/translated/company.js:818 templates/js/translated/order.js:1693
#: templates/js/translated/part.js:246 templates/js/translated/part.js:956
msgid "MPN"
msgstr ""
-#: company/models.py:343 templates/js/translated/part.js:247
+#: company/models.py:340 templates/js/translated/part.js:247
msgid "Manufacturer Part Number"
msgstr "制造商商品编号"
-#: company/models.py:349
+#: company/models.py:346
msgid "URL for external manufacturer part link"
msgstr ""
-#: company/models.py:355
+#: company/models.py:352
msgid "Manufacturer part description"
msgstr "制造商商品描述"
-#: company/models.py:409 company/models.py:558
+#: company/models.py:406 company/models.py:555
#: company/templates/company/manufacturer_part.html:7
#: company/templates/company/manufacturer_part.html:24
#: stock/templates/stock/item_base.html:374
msgid "Manufacturer Part"
msgstr "制造商商品"
-#: company/models.py:416
+#: company/models.py:413
msgid "Parameter name"
msgstr "参数名称"
-#: company/models.py:422
+#: company/models.py:419
#: report/templates/report/inventree_test_report_base.html:95
#: stock/models.py:2195 templates/js/translated/company.js:647
-#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1303
+#: templates/js/translated/part.js:776 templates/js/translated/stock.js:1304
msgid "Value"
msgstr "数值"
-#: company/models.py:423
+#: company/models.py:420
msgid "Parameter value"
msgstr "参数值"
-#: company/models.py:429 part/models.py:958 part/models.py:2566
+#: company/models.py:426 part/models.py:953 part/models.py:2561
#: part/templates/part/part_base.html:280
-#: templates/InvenTree/settings/settings.html:325
+#: templates/InvenTree/settings/settings.html:328
#: templates/js/translated/company.js:653 templates/js/translated/part.js:782
msgid "Units"
msgstr "单位"
-#: company/models.py:430
+#: company/models.py:427
msgid "Parameter units"
msgstr "参数单位"
-#: company/models.py:502
+#: company/models.py:499
msgid "Linked manufacturer part must reference the same base part"
msgstr ""
-#: company/models.py:545 company/templates/company/company_base.html:78
-#: company/templates/company/supplier_part.html:87 order/models.py:251
-#: order/templates/order/order_base.html:112
-#: order/templates/order/order_wizard/select_pos.html:30 part/bom.py:237
-#: part/bom.py:265 stock/templates/stock/item_base.html:381
+#: company/models.py:542 company/templates/company/company_base.html:81
+#: company/templates/company/supplier_part.html:87 order/models.py:252
+#: order/templates/order/order_base.html:112 part/bom.py:237 part/bom.py:265
+#: stock/templates/stock/item_base.html:381
#: templates/js/translated/company.js:337
-#: templates/js/translated/company.js:774 templates/js/translated/order.js:984
+#: templates/js/translated/company.js:774 templates/js/translated/order.js:1440
#: templates/js/translated/part.js:216 templates/js/translated/part.js:924
#: templates/js/translated/table_filters.js:415
msgid "Supplier"
msgstr "供应商"
-#: company/models.py:546 templates/js/translated/part.js:217
+#: company/models.py:543 templates/js/translated/part.js:217
msgid "Select supplier"
msgstr "选择供应商"
-#: company/models.py:551 company/templates/company/supplier_part.html:91
-#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1224
+#: company/models.py:548 company/templates/company/supplier_part.html:97
+#: part/bom.py:238 part/bom.py:266 templates/js/translated/order.js:1680
#: templates/js/translated/part.js:227 templates/js/translated/part.js:942
msgid "SKU"
msgstr ""
-#: company/models.py:552 templates/js/translated/part.js:228
+#: company/models.py:549 templates/js/translated/part.js:228
msgid "Supplier stock keeping unit"
msgstr ""
-#: company/models.py:559
+#: company/models.py:556
msgid "Select manufacturer part"
msgstr "选择制造商商品"
-#: company/models.py:565
+#: company/models.py:562
msgid "URL for external supplier part link"
msgstr "外部供货商商品链接URL"
-#: company/models.py:571
+#: company/models.py:568
msgid "Supplier part description"
msgstr "供应商商品描述"
-#: company/models.py:576 company/templates/company/supplier_part.html:119
-#: part/models.py:2805 part/templates/part/upload_bom.html:59
+#: company/models.py:573 company/templates/company/supplier_part.html:125
+#: part/models.py:2800 part/templates/part/upload_bom.html:59
#: report/templates/report/inventree_po_report.html:92
#: report/templates/report/inventree_so_report.html:93 stock/serializers.py:409
msgid "Note"
msgstr "备注"
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "base cost"
msgstr ""
-#: company/models.py:580 part/models.py:1876
+#: company/models.py:577 part/models.py:1871
msgid "Minimum charge (e.g. stocking fee)"
msgstr "最低收费(例如库存费)"
-#: company/models.py:582 company/templates/company/supplier_part.html:112
+#: company/models.py:579 company/templates/company/supplier_part.html:118
#: stock/models.py:635 stock/templates/stock/item_base.html:322
-#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1917
+#: templates/js/translated/company.js:850 templates/js/translated/stock.js:1918
msgid "Packaging"
msgstr "打包"
-#: company/models.py:582
+#: company/models.py:579
msgid "Part packaging"
msgstr "商品打包"
-#: company/models.py:584 part/models.py:1878
+#: company/models.py:581 part/models.py:1873
msgid "multiple"
msgstr ""
-#: company/models.py:584
+#: company/models.py:581
msgid "Order multiple"
msgstr ""
-#: company/models.py:708
+#: company/models.py:705
msgid "last updated"
msgstr ""
@@ -2823,61 +2808,61 @@ msgid "Company"
msgstr "公司"
#: company/templates/company/company_base.html:22
-#: templates/js/translated/order.js:283
+#: templates/js/translated/order.js:415
msgid "Create Purchase Order"
msgstr "创建采购订单"
-#: company/templates/company/company_base.html:26
+#: company/templates/company/company_base.html:28
msgid "Company actions"
msgstr ""
-#: company/templates/company/company_base.html:31
+#: company/templates/company/company_base.html:33
msgid "Edit company information"
msgstr "编辑公司信息"
-#: company/templates/company/company_base.html:32
+#: company/templates/company/company_base.html:34
#: templates/js/translated/company.js:265
msgid "Edit Company"
msgstr "编辑公司信息"
-#: company/templates/company/company_base.html:36
+#: company/templates/company/company_base.html:38
msgid "Delete company"
msgstr ""
-#: company/templates/company/company_base.html:37
-#: company/templates/company/company_base.html:159
+#: company/templates/company/company_base.html:39
+#: company/templates/company/company_base.html:162
msgid "Delete Company"
msgstr "删除该公司"
-#: company/templates/company/company_base.html:53
+#: company/templates/company/company_base.html:56
#: part/templates/part/part_thumb.html:12
msgid "Upload new image"
msgstr "上传新图片"
-#: company/templates/company/company_base.html:56
+#: company/templates/company/company_base.html:59
#: part/templates/part/part_thumb.html:14
msgid "Download image from URL"
msgstr "从 URL 下载图片"
-#: company/templates/company/company_base.html:83 order/models.py:598
+#: company/templates/company/company_base.html:86 order/models.py:600
#: order/templates/order/sales_order_base.html:115 stock/models.py:654
-#: stock/models.py:655 stock/serializers.py:683
+#: stock/models.py:655 stock/serializers.py:725
#: stock/templates/stock/item_base.html:274
-#: templates/js/translated/company.js:329 templates/js/translated/order.js:1682
-#: templates/js/translated/stock.js:2435
+#: templates/js/translated/company.js:329 templates/js/translated/order.js:2138
+#: templates/js/translated/stock.js:2436
#: templates/js/translated/table_filters.js:419
msgid "Customer"
msgstr "客户"
-#: company/templates/company/company_base.html:108
+#: company/templates/company/company_base.html:111
msgid "Uses default currency"
msgstr "使用默认货币"
-#: company/templates/company/company_base.html:122
+#: company/templates/company/company_base.html:125
msgid "Phone"
msgstr "电话"
-#: company/templates/company/company_base.html:205
+#: company/templates/company/company_base.html:208
#: part/templates/part/part_base.html:465
msgid "Upload Image"
msgstr "上传图片"
@@ -2889,20 +2874,19 @@ msgid "Supplier Parts"
msgstr "供应商商品"
#: company/templates/company/detail.html:18
-#: order/templates/order/order_wizard/select_parts.html:44
msgid "Create new supplier part"
msgstr "创建新的供应商商品"
#: company/templates/company/detail.html:19
-#: company/templates/company/manufacturer_part.html:119
+#: company/templates/company/manufacturer_part.html:124
#: part/templates/part/detail.html:352
msgid "New Supplier Part"
msgstr "新建供应商商品"
#: company/templates/company/detail.html:31
#: company/templates/company/detail.html:78
-#: company/templates/company/manufacturer_part.html:128
-#: company/templates/company/manufacturer_part.html:157
+#: company/templates/company/manufacturer_part.html:133
+#: company/templates/company/manufacturer_part.html:163
#: part/templates/part/category.html:168 part/templates/part/detail.html:361
#: part/templates/part/detail.html:390
msgid "Options"
@@ -2910,7 +2894,7 @@ msgstr "选项"
#: company/templates/company/detail.html:36
#: company/templates/company/detail.html:83
-#: part/templates/part/category.html:174
+#: part/templates/part/category.html:176
msgid "Order parts"
msgstr "订购商品"
@@ -2988,7 +2972,7 @@ msgid "New Sales Order"
msgstr "新建销售订单"
#: company/templates/company/detail.html:167
-#: templates/js/translated/build.js:1625
+#: templates/js/translated/build.js:1674
msgid "Assigned Stock"
msgstr ""
@@ -2997,13 +2981,13 @@ msgid "Company Notes"
msgstr "公司备注"
#: company/templates/company/detail.html:375
-#: company/templates/company/manufacturer_part.html:216
+#: company/templates/company/manufacturer_part.html:222
#: part/templates/part/detail.html:451
msgid "Delete Supplier Parts?"
msgstr "删除供应商商品?"
#: company/templates/company/detail.html:376
-#: company/templates/company/manufacturer_part.html:217
+#: company/templates/company/manufacturer_part.html:223
#: part/templates/part/detail.html:452
msgid "All selected supplier parts will be deleted"
msgstr "删除所有选定的供应商商品"
@@ -3018,77 +3002,81 @@ msgstr "供应商列表"
msgid "Manufacturers"
msgstr "制造商"
-#: company/templates/company/manufacturer_part.html:36
+#: company/templates/company/manufacturer_part.html:35
#: company/templates/company/supplier_part.html:34
-#: company/templates/company/supplier_part.html:159
+#: company/templates/company/supplier_part.html:165
#: part/templates/part/detail.html:80 part/templates/part/part_base.html:80
msgid "Order part"
msgstr "订购商品"
-#: company/templates/company/manufacturer_part.html:41
+#: company/templates/company/manufacturer_part.html:39
#: templates/js/translated/company.js:565
msgid "Edit manufacturer part"
msgstr "编辑制造商商品"
-#: company/templates/company/manufacturer_part.html:45
+#: company/templates/company/manufacturer_part.html:43
#: templates/js/translated/company.js:566
msgid "Delete manufacturer part"
msgstr "删除生产商商品"
-#: company/templates/company/manufacturer_part.html:67
+#: company/templates/company/manufacturer_part.html:65
#: company/templates/company/supplier_part.html:63
msgid "Internal Part"
msgstr "内部商品"
-#: company/templates/company/manufacturer_part.html:115
+#: company/templates/company/manufacturer_part.html:95
+msgid "No manufacturer information available"
+msgstr ""
+
+#: company/templates/company/manufacturer_part.html:120
#: company/templates/company/supplier_part.html:15 company/views.py:49
#: part/templates/part/part_sidebar.html:35 part/templates/part/prices.html:166
#: templates/InvenTree/search.html:188 templates/navbar.html:48
msgid "Suppliers"
msgstr "供应商"
-#: company/templates/company/manufacturer_part.html:130
+#: company/templates/company/manufacturer_part.html:135
#: part/templates/part/detail.html:363
msgid "Delete supplier parts"
msgstr "删除供应商商品"
-#: company/templates/company/manufacturer_part.html:130
-#: company/templates/company/manufacturer_part.html:159
-#: company/templates/company/manufacturer_part.html:255
+#: company/templates/company/manufacturer_part.html:135
+#: company/templates/company/manufacturer_part.html:165
+#: company/templates/company/manufacturer_part.html:261
#: part/templates/part/detail.html:363 part/templates/part/detail.html:392
#: templates/js/translated/company.js:426 templates/js/translated/helpers.js:32
-#: users/models.py:220
+#: users/models.py:221
msgid "Delete"
msgstr "删除"
-#: company/templates/company/manufacturer_part.html:144
+#: company/templates/company/manufacturer_part.html:150
#: company/templates/company/manufacturer_part_sidebar.html:5
#: part/templates/part/category_sidebar.html:19
#: part/templates/part/detail.html:179 part/templates/part/part_sidebar.html:8
msgid "Parameters"
msgstr "参数"
-#: company/templates/company/manufacturer_part.html:148
+#: company/templates/company/manufacturer_part.html:154
#: part/templates/part/detail.html:184
#: templates/InvenTree/settings/category.html:12
#: templates/InvenTree/settings/part.html:66
msgid "New Parameter"
msgstr "新建参数"
-#: company/templates/company/manufacturer_part.html:159
+#: company/templates/company/manufacturer_part.html:165
msgid "Delete parameters"
msgstr "删除参数"
-#: company/templates/company/manufacturer_part.html:192
-#: part/templates/part/detail.html:864
+#: company/templates/company/manufacturer_part.html:198
+#: part/templates/part/detail.html:870
msgid "Add Parameter"
msgstr "添加参数"
-#: company/templates/company/manufacturer_part.html:240
+#: company/templates/company/manufacturer_part.html:246
msgid "Selected parameters will be deleted"
msgstr "所选参数将被删除"
-#: company/templates/company/manufacturer_part.html:252
+#: company/templates/company/manufacturer_part.html:258
msgid "Delete Parameters"
msgstr "删除参数"
@@ -3110,8 +3098,9 @@ msgstr ""
#: company/templates/company/supplier_part.html:7
#: company/templates/company/supplier_part.html:24 stock/models.py:619
-#: stock/templates/stock/item_base.html:386
-#: templates/js/translated/company.js:790 templates/js/translated/stock.js:1874
+#: stock/templates/stock/item_base.html:390
+#: templates/js/translated/company.js:790 templates/js/translated/order.js:762
+#: templates/js/translated/stock.js:1875
msgid "Supplier Part"
msgstr "供应商商品"
@@ -3125,66 +3114,70 @@ msgstr "编辑供应商商品"
msgid "Delete supplier part"
msgstr "删除供应商商品"
-#: company/templates/company/supplier_part.html:138
+#: company/templates/company/supplier_part.html:91
+msgid "No supplier information available"
+msgstr ""
+
+#: company/templates/company/supplier_part.html:144
#: company/templates/company/supplier_part_navbar.html:12
msgid "Supplier Part Stock"
msgstr "供货商商品库存"
-#: company/templates/company/supplier_part.html:141
+#: company/templates/company/supplier_part.html:147
#: part/templates/part/detail.html:23 stock/templates/stock/location.html:167
msgid "Create new stock item"
msgstr ""
-#: company/templates/company/supplier_part.html:142
+#: company/templates/company/supplier_part.html:148
#: part/templates/part/detail.html:24 stock/templates/stock/location.html:168
-#: templates/js/translated/stock.js:379
+#: templates/js/translated/stock.js:380
msgid "New Stock Item"
msgstr ""
-#: company/templates/company/supplier_part.html:155
+#: company/templates/company/supplier_part.html:161
#: company/templates/company/supplier_part_navbar.html:19
msgid "Supplier Part Orders"
msgstr "供应商商品订单"
-#: company/templates/company/supplier_part.html:160
+#: company/templates/company/supplier_part.html:166
#: part/templates/part/detail.html:81
msgid "Order Part"
msgstr "订购商品"
-#: company/templates/company/supplier_part.html:179
+#: company/templates/company/supplier_part.html:186
#: part/templates/part/prices.html:10
msgid "Pricing Information"
msgstr "价格信息"
-#: company/templates/company/supplier_part.html:184
-#: company/templates/company/supplier_part.html:298
-#: part/templates/part/prices.html:274 templates/js/translated/part.js:2058
+#: company/templates/company/supplier_part.html:191
+#: company/templates/company/supplier_part.html:305
+#: part/templates/part/prices.html:274 templates/js/translated/part.js:2046
msgid "Add Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:210
+#: company/templates/company/supplier_part.html:217
msgid "No price break information found"
msgstr ""
-#: company/templates/company/supplier_part.html:224
-#: templates/js/translated/part.js:2068
+#: company/templates/company/supplier_part.html:231
+#: templates/js/translated/part.js:2056
msgid "Delete Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:238
-#: templates/js/translated/part.js:2082
+#: company/templates/company/supplier_part.html:245
+#: templates/js/translated/part.js:2070
msgid "Edit Price Break"
msgstr ""
-#: company/templates/company/supplier_part.html:263
+#: company/templates/company/supplier_part.html:270
msgid "Edit price break"
msgstr ""
-#: company/templates/company/supplier_part.html:264
+#: company/templates/company/supplier_part.html:271
msgid "Delete price break"
msgstr ""
-#: company/templates/company/supplier_part.html:273
+#: company/templates/company/supplier_part.html:280
msgid "Last updated"
msgstr ""
@@ -3196,7 +3189,7 @@ msgstr ""
#: templates/InvenTree/settings/sidebar.html:43
#: templates/js/translated/bom.js:553 templates/js/translated/part.js:678
#: templates/js/translated/part.js:1226 templates/js/translated/part.js:1387
-#: templates/js/translated/stock.js:903 templates/js/translated/stock.js:1696
+#: templates/js/translated/stock.js:904 templates/js/translated/stock.js:1697
#: templates/navbar.html:31
msgid "Stock"
msgstr "库存"
@@ -3216,14 +3209,14 @@ msgid "Pricing"
msgstr "定价"
#: company/templates/company/supplier_part_sidebar.html:5
-#: part/templates/part/category.html:192
+#: part/templates/part/category.html:197
#: part/templates/part/category_sidebar.html:17
#: stock/templates/stock/location.html:138
#: stock/templates/stock/location.html:152
#: stock/templates/stock/location.html:164
#: stock/templates/stock/location_sidebar.html:7
#: templates/InvenTree/search.html:152 templates/js/translated/search.js:127
-#: templates/js/translated/stock.js:2311 users/models.py:43
+#: templates/js/translated/stock.js:2312 users/models.py:43
msgid "Stock Items"
msgstr "库存项"
@@ -3338,19 +3331,6 @@ msgstr "查询筛选器 (逗号分隔的键值对列表"
msgid "Part query filters (comma-separated value of key=value pairs)"
msgstr "商品查询筛选器 (逗号分隔的键值对列表)"
-#: order/forms.py:24 order/templates/order/order_base.html:52
-msgid "Place order"
-msgstr ""
-
-#: order/forms.py:35 order/templates/order/order_base.html:60
-msgid "Mark order as complete"
-msgstr ""
-
-#: order/forms.py:46 order/forms.py:57 order/templates/order/order_base.html:47
-#: order/templates/order/sales_order_base.html:60
-msgid "Cancel order"
-msgstr "取消订单"
-
#: order/models.py:130
msgid "Order description"
msgstr ""
@@ -3371,280 +3351,285 @@ msgstr "负责此订单的用户或群组"
msgid "Order notes"
msgstr ""
-#: order/models.py:238 order/models.py:588
+#: order/models.py:238 order/models.py:590
msgid "Order reference"
msgstr ""
-#: order/models.py:243 order/models.py:603
+#: order/models.py:243 order/models.py:605
msgid "Purchase order status"
msgstr ""
-#: order/models.py:252
+#: order/models.py:253
msgid "Company from which the items are being ordered"
msgstr "订购该商品的公司"
-#: order/models.py:255 order/templates/order/order_base.html:118
-#: templates/js/translated/order.js:993
+#: order/models.py:256 order/templates/order/order_base.html:124
+#: templates/js/translated/order.js:1449
msgid "Supplier Reference"
msgstr ""
-#: order/models.py:255
+#: order/models.py:256
msgid "Supplier order reference code"
msgstr ""
-#: order/models.py:262
+#: order/models.py:263
msgid "received by"
msgstr ""
-#: order/models.py:267
+#: order/models.py:268
msgid "Issue Date"
msgstr ""
-#: order/models.py:268
+#: order/models.py:269
msgid "Date order was issued"
msgstr ""
-#: order/models.py:273
+#: order/models.py:274
msgid "Target Delivery Date"
msgstr ""
-#: order/models.py:274
+#: order/models.py:275
msgid "Expected date for order delivery. Order will be overdue after this date."
msgstr ""
-#: order/models.py:280
+#: order/models.py:281
msgid "Date order was completed"
msgstr ""
-#: order/models.py:309
+#: order/models.py:310
msgid "Part supplier must match PO supplier"
msgstr ""
-#: order/models.py:454
+#: order/models.py:456
msgid "Quantity must be a positive number"
msgstr "数量必须大于0"
-#: order/models.py:599
+#: order/models.py:601
msgid "Company to which the items are being sold"
msgstr "向其出售该商品的公司"
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer Reference "
msgstr ""
-#: order/models.py:605
+#: order/models.py:607
msgid "Customer order reference code"
msgstr ""
-#: order/models.py:610
+#: order/models.py:612
msgid "Target date for order completion. Order will be overdue after this date."
msgstr ""
-#: order/models.py:613 order/models.py:1153
-#: templates/js/translated/order.js:1729 templates/js/translated/order.js:1880
+#: order/models.py:615 order/models.py:1155
+#: templates/js/translated/order.js:2185 templates/js/translated/order.js:2336
msgid "Shipment Date"
msgstr ""
-#: order/models.py:620
+#: order/models.py:622
msgid "shipped by"
msgstr ""
-#: order/models.py:686
+#: order/models.py:688
msgid "Order cannot be completed as no parts have been assigned"
msgstr ""
-#: order/models.py:690
+#: order/models.py:692
msgid "Only a pending order can be marked as complete"
msgstr ""
-#: order/models.py:693
+#: order/models.py:695
msgid "Order cannot be completed as there are incomplete shipments"
msgstr ""
-#: order/models.py:696
+#: order/models.py:698
msgid "Order cannot be completed as there are incomplete line items"
msgstr ""
-#: order/models.py:861
+#: order/models.py:863
msgid "Item quantity"
msgstr ""
-#: order/models.py:867
+#: order/models.py:869
msgid "Line item reference"
msgstr ""
-#: order/models.py:869
+#: order/models.py:871
msgid "Line item notes"
msgstr ""
-#: order/models.py:874
+#: order/models.py:876
msgid "Target shipping date for this line item"
msgstr ""
-#: order/models.py:892
+#: order/models.py:894
msgid "Context"
msgstr ""
-#: order/models.py:893
+#: order/models.py:895
msgid "Additional context for this line"
msgstr ""
-#: order/models.py:901
+#: order/models.py:903
msgid "Unit price"
msgstr ""
-#: order/models.py:934
+#: order/models.py:936
msgid "Supplier part must match supplier"
msgstr ""
-#: order/models.py:947 order/models.py:1029 order/models.py:1051
-#: order/models.py:1147 order/models.py:1247
-#: templates/js/translated/order.js:2271
+#: order/models.py:943
+msgid "deleted"
+msgstr ""
+
+#: order/models.py:949 order/models.py:1031 order/models.py:1053
+#: order/models.py:1149 order/models.py:1249
+#: templates/js/translated/order.js:2727
msgid "Order"
msgstr ""
-#: order/models.py:948 order/models.py:1029
+#: order/models.py:950 order/models.py:1031
#: order/templates/order/order_base.html:9
#: order/templates/order/order_base.html:18
#: report/templates/report/inventree_po_report.html:76
#: stock/templates/stock/item_base.html:336
-#: templates/js/translated/order.js:962 templates/js/translated/part.js:899
-#: templates/js/translated/stock.js:1851 templates/js/translated/stock.js:2416
+#: templates/js/translated/order.js:763 templates/js/translated/order.js:1418
+#: templates/js/translated/part.js:899 templates/js/translated/stock.js:1852
+#: templates/js/translated/stock.js:2417
msgid "Purchase Order"
msgstr ""
-#: order/models.py:967
+#: order/models.py:969
msgid "Supplier part"
msgstr "供应商商品"
-#: order/models.py:974 order/templates/order/order_base.html:163
-#: templates/js/translated/order.js:740 templates/js/translated/order.js:1339
+#: order/models.py:976 order/templates/order/order_base.html:169
+#: templates/js/translated/order.js:1196 templates/js/translated/order.js:1795
#: templates/js/translated/part.js:993 templates/js/translated/part.js:1020
#: templates/js/translated/table_filters.js:330
msgid "Received"
msgstr ""
-#: order/models.py:975
+#: order/models.py:977
msgid "Number of items received"
msgstr ""
-#: order/models.py:982 part/templates/part/prices.html:179 stock/models.py:749
+#: order/models.py:984 part/templates/part/prices.html:179 stock/models.py:749
#: stock/serializers.py:170 stock/templates/stock/item_base.html:343
-#: templates/js/translated/stock.js:1905
+#: templates/js/translated/stock.js:1906
msgid "Purchase Price"
msgstr "采购价格"
-#: order/models.py:983
+#: order/models.py:985
msgid "Unit purchase price"
msgstr ""
-#: order/models.py:991
+#: order/models.py:993
msgid "Where does the Purchaser want this item to be stored?"
msgstr ""
-#: order/models.py:1061 part/templates/part/part_pricing.html:112
+#: order/models.py:1063 part/templates/part/part_pricing.html:112
#: part/templates/part/prices.html:119 part/templates/part/prices.html:288
msgid "Sale Price"
msgstr "销售价格"
-#: order/models.py:1062
+#: order/models.py:1064
msgid "Unit sale price"
msgstr ""
-#: order/models.py:1067
+#: order/models.py:1069
msgid "Shipped quantity"
msgstr ""
-#: order/models.py:1154
+#: order/models.py:1156
msgid "Date of shipment"
msgstr ""
-#: order/models.py:1161
+#: order/models.py:1163
msgid "Checked By"
msgstr ""
-#: order/models.py:1162
+#: order/models.py:1164
msgid "User who checked this shipment"
msgstr ""
-#: order/models.py:1170
+#: order/models.py:1172
msgid "Shipment number"
msgstr ""
-#: order/models.py:1177
+#: order/models.py:1179
msgid "Shipment notes"
msgstr ""
-#: order/models.py:1184
+#: order/models.py:1186
msgid "Tracking Number"
msgstr ""
-#: order/models.py:1185
+#: order/models.py:1187
msgid "Shipment tracking information"
msgstr ""
-#: order/models.py:1195
+#: order/models.py:1197
msgid "Shipment has already been sent"
msgstr ""
-#: order/models.py:1198
+#: order/models.py:1200
msgid "Shipment has no allocated stock items"
msgstr ""
-#: order/models.py:1291 order/models.py:1293
+#: order/models.py:1293 order/models.py:1295
msgid "Stock item has not been assigned"
msgstr ""
-#: order/models.py:1297
+#: order/models.py:1299
msgid "Cannot allocate stock item to a line with a different part"
msgstr ""
-#: order/models.py:1299
+#: order/models.py:1301
msgid "Cannot allocate stock to a line without a part"
msgstr ""
-#: order/models.py:1302
+#: order/models.py:1304
msgid "Allocation quantity cannot exceed stock quantity"
msgstr ""
-#: order/models.py:1306
+#: order/models.py:1308
msgid "StockItem is over-allocated"
msgstr ""
-#: order/models.py:1312 order/serializers.py:897
+#: order/models.py:1314 order/serializers.py:1005
msgid "Quantity must be 1 for serialized stock item"
msgstr ""
-#: order/models.py:1315
+#: order/models.py:1317
msgid "Sales order does not match shipment"
msgstr ""
-#: order/models.py:1316
+#: order/models.py:1318
msgid "Shipment does not match sales order"
msgstr ""
-#: order/models.py:1324
+#: order/models.py:1326
msgid "Line"
msgstr ""
-#: order/models.py:1332 order/serializers.py:988 order/serializers.py:1116
-#: templates/js/translated/model_renderers.js:300
+#: order/models.py:1334 order/serializers.py:1115 order/serializers.py:1243
+#: templates/js/translated/model_renderers.js:301
msgid "Shipment"
msgstr ""
-#: order/models.py:1333
+#: order/models.py:1335
msgid "Sales order shipment reference"
msgstr ""
-#: order/models.py:1345 templates/InvenTree/notifications/notifications.html:70
+#: order/models.py:1347 templates/InvenTree/notifications/notifications.html:70
msgid "Item"
msgstr ""
-#: order/models.py:1346
+#: order/models.py:1348
msgid "Select stock item to allocate"
msgstr ""
-#: order/models.py:1349
+#: order/models.py:1351
msgid "Enter stock allocation quantity"
msgstr ""
@@ -3652,99 +3637,118 @@ msgstr ""
msgid "Price currency"
msgstr ""
-#: order/serializers.py:246
+#: order/serializers.py:206
+msgid "Order cannot be cancelled"
+msgstr "无法取消订单"
+
+#: order/serializers.py:304
+msgid "Order is not open"
+msgstr ""
+
+#: order/serializers.py:328
msgid "Purchase price currency"
msgstr ""
-#: order/serializers.py:306 order/serializers.py:953
+#: order/serializers.py:342
+msgid "Supplier part must be specified"
+msgstr ""
+
+#: order/serializers.py:347
+msgid "Purchase order must be specified"
+msgstr ""
+
+#: order/serializers.py:353
+msgid "Supplier must match purchase order"
+msgstr ""
+
+#: order/serializers.py:354
+msgid "Purchase order must match supplier"
+msgstr ""
+
+#: order/serializers.py:414 order/serializers.py:1080
msgid "Line Item"
msgstr ""
-#: order/serializers.py:312
+#: order/serializers.py:420
msgid "Line item does not match purchase order"
msgstr ""
-#: order/serializers.py:322 order/serializers.py:427
+#: order/serializers.py:430 order/serializers.py:535
msgid "Select destination location for received items"
msgstr ""
-#: order/serializers.py:341 templates/js/translated/order.js:600
+#: order/serializers.py:449 templates/js/translated/order.js:1054
msgid "Enter batch code for incoming stock items"
msgstr ""
-#: order/serializers.py:349 templates/js/translated/order.js:611
+#: order/serializers.py:457 templates/js/translated/order.js:1065
msgid "Enter serial numbers for incoming stock items"
msgstr ""
-#: order/serializers.py:362
+#: order/serializers.py:470
msgid "Barcode Hash"
msgstr ""
-#: order/serializers.py:363
+#: order/serializers.py:471
msgid "Unique identifier field"
msgstr ""
-#: order/serializers.py:380
+#: order/serializers.py:488
msgid "Barcode is already in use"
msgstr ""
-#: order/serializers.py:399
+#: order/serializers.py:507
msgid "An integer quantity must be provided for trackable parts"
msgstr ""
-#: order/serializers.py:439
+#: order/serializers.py:547
msgid "Line items must be provided"
msgstr ""
-#: order/serializers.py:456
+#: order/serializers.py:564
msgid "Destination location must be specified"
msgstr ""
-#: order/serializers.py:467
+#: order/serializers.py:575
msgid "Supplied barcode values must be unique"
msgstr ""
-#: order/serializers.py:742
+#: order/serializers.py:850
msgid "Sale price currency"
msgstr ""
-#: order/serializers.py:812
+#: order/serializers.py:920
msgid "No shipment details provided"
msgstr ""
-#: order/serializers.py:862 order/serializers.py:965
+#: order/serializers.py:970 order/serializers.py:1092
msgid "Line item is not associated with this order"
msgstr ""
-#: order/serializers.py:884
+#: order/serializers.py:992
msgid "Quantity must be positive"
msgstr ""
-#: order/serializers.py:978
+#: order/serializers.py:1105
msgid "Enter serial numbers to allocate"
msgstr ""
-#: order/serializers.py:1002 order/serializers.py:1127
+#: order/serializers.py:1129 order/serializers.py:1254
msgid "Shipment has already been shipped"
msgstr ""
-#: order/serializers.py:1005 order/serializers.py:1130
+#: order/serializers.py:1132 order/serializers.py:1257
msgid "Shipment is not associated with this order"
msgstr ""
-#: order/serializers.py:1057
+#: order/serializers.py:1184
msgid "No match found for the following serial numbers"
msgstr ""
-#: order/serializers.py:1067
+#: order/serializers.py:1194
msgid "The following serial numbers are already allocated"
msgstr ""
-#: order/templates/order/delete_attachment.html:5
-#: stock/templates/stock/attachment_delete.html:5
-msgid "Are you sure you want to delete this attachment?"
-msgstr ""
-
#: order/templates/order/order_base.html:33
msgid "Print purchase order report"
msgstr ""
@@ -3764,6 +3768,15 @@ msgstr ""
msgid "Edit order"
msgstr ""
+#: order/templates/order/order_base.html:47
+#: order/templates/order/sales_order_base.html:60
+msgid "Cancel order"
+msgstr "取消订单"
+
+#: order/templates/order/order_base.html:52
+msgid "Place order"
+msgstr ""
+
#: order/templates/order/order_base.html:56
msgid "Receive items"
msgstr ""
@@ -3773,8 +3786,12 @@ msgstr ""
msgid "Receive Items"
msgstr ""
+#: order/templates/order/order_base.html:60
+msgid "Mark order as complete"
+msgstr ""
+
#: order/templates/order/order_base.html:62
-#: order/templates/order/sales_order_base.html:67 order/views.py:181
+#: order/templates/order/sales_order_base.html:67
msgid "Complete Order"
msgstr ""
@@ -3793,51 +3810,35 @@ msgstr ""
msgid "Order Status"
msgstr ""
-#: order/templates/order/order_base.html:124
+#: order/templates/order/order_base.html:117
+msgid "No suppplier information available"
+msgstr ""
+
+#: order/templates/order/order_base.html:130
#: order/templates/order/sales_order_base.html:128
msgid "Completed Line Items"
msgstr ""
-#: order/templates/order/order_base.html:130
+#: order/templates/order/order_base.html:136
#: order/templates/order/sales_order_base.html:134
#: order/templates/order/sales_order_base.html:144
msgid "Incomplete"
msgstr ""
-#: order/templates/order/order_base.html:149
+#: order/templates/order/order_base.html:155
#: report/templates/report/inventree_build_order_base.html:122
msgid "Issued"
msgstr ""
-#: order/templates/order/order_base.html:177
+#: order/templates/order/order_base.html:183
#: order/templates/order/sales_order_base.html:189
msgid "Total cost"
msgstr ""
-#: order/templates/order/order_base.html:225
+#: order/templates/order/order_base.html:235
msgid "Edit Purchase Order"
msgstr ""
-#: order/templates/order/order_cancel.html:8
-msgid "Cancelling this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_complete.html:7
-msgid "Mark this order as complete?"
-msgstr ""
-
-#: order/templates/order/order_complete.html:10
-msgid "This order has line items which have not been marked as received."
-msgstr ""
-
-#: order/templates/order/order_complete.html:11
-msgid "Completing this order means that the order and line items will no longer be editable."
-msgstr ""
-
-#: order/templates/order/order_issue.html:8
-msgid "After placing this purchase order, line items will no longer be editable."
-msgstr ""
-
#: order/templates/order/order_wizard/match_parts.html:12
#: part/templates/part/import_wizard/ajax_match_references.html:12
#: part/templates/part/import_wizard/match_references.html:12
@@ -3864,10 +3865,11 @@ msgstr "选择供应商商品"
#: part/templates/part/import_wizard/ajax_match_fields.html:64
#: part/templates/part/import_wizard/ajax_match_references.html:42
#: part/templates/part/import_wizard/match_references.html:49
-#: templates/js/translated/bom.js:76 templates/js/translated/build.js:383
-#: templates/js/translated/build.js:535 templates/js/translated/build.js:1939
-#: templates/js/translated/order.js:688 templates/js/translated/order.js:1939
-#: templates/js/translated/stock.js:569 templates/js/translated/stock.js:737
+#: templates/js/translated/bom.js:76 templates/js/translated/build.js:427
+#: templates/js/translated/build.js:579 templates/js/translated/build.js:1988
+#: templates/js/translated/order.js:711 templates/js/translated/order.js:1143
+#: templates/js/translated/order.js:2395 templates/js/translated/stock.js:570
+#: templates/js/translated/stock.js:738
#: templates/patterns/wizard/match_fields.html:70
msgid "Remove row"
msgstr "移除行"
@@ -3884,64 +3886,6 @@ msgstr ""
msgid "Order is already processed. Files cannot be uploaded."
msgstr ""
-#: order/templates/order/order_wizard/select_parts.html:11
-msgid "Step 1 of 2 - Select Part Suppliers"
-msgstr "步骤 1 / 2 - 选择商品供货商"
-
-#: order/templates/order/order_wizard/select_parts.html:16
-msgid "Select suppliers"
-msgstr "选择供应商"
-
-#: order/templates/order/order_wizard/select_parts.html:20
-msgid "No purchaseable parts selected"
-msgstr "未选择可购买的商品"
-
-#: order/templates/order/order_wizard/select_parts.html:33
-msgid "Select Supplier"
-msgstr "选择供应商"
-
-#: order/templates/order/order_wizard/select_parts.html:57
-msgid "No price"
-msgstr "暂无价格"
-
-#: order/templates/order/order_wizard/select_parts.html:65
-#, python-format
-msgid "Select a supplier for %(name)s"
-msgstr "为 %(name)s选择一个供应商"
-
-#: order/templates/order/order_wizard/select_parts.html:77
-#: part/templates/part/set_category.html:32
-msgid "Remove part"
-msgstr "移除商品"
-
-#: order/templates/order/order_wizard/select_pos.html:8
-msgid "Step 2 of 2 - Select Purchase Orders"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:12
-msgid "Select existing purchase orders, or create new orders."
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:31
-#: templates/js/translated/order.js:1026 templates/js/translated/order.js:1737
-#: templates/js/translated/order.js:1867
-msgid "Items"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:32
-msgid "Select Purchase Order"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:45
-#, python-format
-msgid "Create new purchase order for %(name)s"
-msgstr ""
-
-#: order/templates/order/order_wizard/select_pos.html:68
-#, python-format
-msgid "Select a purchase order for %(name)s"
-msgstr ""
-
#: order/templates/order/po_sidebar.html:5
#: order/templates/order/so_sidebar.html:5
#: report/templates/report/inventree_po_report.html:84
@@ -3958,7 +3902,7 @@ msgid "Purchase Order Items"
msgstr ""
#: order/templates/order/purchase_order_detail.html:26
-#: order/templates/order/purchase_order_detail.html:182
+#: order/templates/order/purchase_order_detail.html:184
#: order/templates/order/sales_order_detail.html:22
#: order/templates/order/sales_order_detail.html:249
msgid "Add Line Item"
@@ -3988,7 +3932,7 @@ msgstr ""
msgid "Order Notes"
msgstr ""
-#: order/templates/order/purchase_order_detail.html:235
+#: order/templates/order/purchase_order_detail.html:239
msgid "Add Order Line"
msgstr ""
@@ -4006,7 +3950,7 @@ msgid "Print packing list"
msgstr ""
#: order/templates/order/sales_order_base.html:66
-#: order/templates/order/sales_order_base.html:235
+#: order/templates/order/sales_order_base.html:239
msgid "Complete Sales Order"
msgstr ""
@@ -4015,7 +3959,7 @@ msgid "This Sales Order has not been fully allocated"
msgstr ""
#: order/templates/order/sales_order_base.html:122
-#: templates/js/translated/order.js:1695
+#: templates/js/translated/order.js:2151
msgid "Customer Reference"
msgstr ""
@@ -4029,15 +3973,6 @@ msgstr ""
msgid "Edit Sales Order"
msgstr ""
-#: order/templates/order/sales_order_cancel.html:8
-#: stock/templates/stock/stockitem_convert.html:13
-msgid "Warning"
-msgstr "警告"
-
-#: order/templates/order/sales_order_cancel.html:9
-msgid "Cancelling this order means that the order will no longer be editable."
-msgstr ""
-
#: order/templates/order/sales_order_detail.html:17
msgid "Sales Order Items"
msgstr ""
@@ -4048,7 +3983,7 @@ msgid "Pending Shipments"
msgstr ""
#: order/templates/order/sales_order_detail.html:70
-#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1847
+#: templates/js/translated/bom.js:992 templates/js/translated/build.js:1896
msgid "Actions"
msgstr ""
@@ -4056,69 +3991,24 @@ msgstr ""
msgid "New Shipment"
msgstr ""
-#: order/views.py:99
-msgid "Cancel Order"
-msgstr "取消订单"
-
-#: order/views.py:108 order/views.py:134
-msgid "Confirm order cancellation"
-msgstr "确认取消订单"
-
-#: order/views.py:111 order/views.py:137
-msgid "Order cannot be cancelled"
-msgstr "无法取消订单"
-
-#: order/views.py:125
-msgid "Cancel sales order"
-msgstr "取消销售订单"
-
-#: order/views.py:151
-msgid "Issue Order"
-msgstr ""
-
-#: order/views.py:160
-msgid "Confirm order placement"
-msgstr ""
-
-#: order/views.py:170
-msgid "Purchase order issued"
-msgstr ""
-
-#: order/views.py:197
-msgid "Confirm order completion"
-msgstr ""
-
-#: order/views.py:208
-msgid "Purchase order completed"
-msgstr ""
-
-#: order/views.py:245
+#: order/views.py:122
msgid "Match Supplier Parts"
msgstr ""
-#: order/views.py:489
-msgid "Update prices"
-msgstr ""
-
-#: order/views.py:747
-#, python-brace-format
-msgid "Ordered {n} parts"
-msgstr ""
-
-#: order/views.py:858
+#: order/views.py:395
msgid "Sales order not found"
msgstr ""
-#: order/views.py:864
+#: order/views.py:401
msgid "Price not found"
msgstr ""
-#: order/views.py:867
+#: order/views.py:404
#, python-brace-format
msgid "Updated {part} unit-price to {price}"
msgstr ""
-#: order/views.py:872
+#: order/views.py:409
#, python-brace-format
msgid "Updated {part} unit-price to {price} and quantity to {qty}"
msgstr ""
@@ -4167,7 +4057,7 @@ msgstr "指定初始初始商品仓储地点"
msgid "This field is required"
msgstr "此字段为必填"
-#: part/bom.py:125 part/models.py:112 part/models.py:892
+#: part/bom.py:125 part/models.py:112 part/models.py:887
#: part/templates/part/category.html:108 part/templates/part/part_base.html:330
msgid "Default Location"
msgstr "默认仓储地点"
@@ -4191,15 +4081,15 @@ msgstr ""
msgid "Select part category"
msgstr "选择类别"
-#: part/forms.py:121
+#: part/forms.py:103
msgid "Add parameter template to same level categories"
msgstr ""
-#: part/forms.py:125
+#: part/forms.py:107
msgid "Add parameter template to all categories"
msgstr ""
-#: part/forms.py:145
+#: part/forms.py:127
msgid "Input quantity for price calculation"
msgstr ""
@@ -4215,7 +4105,7 @@ msgstr ""
msgid "Default keywords for parts in this category"
msgstr "此类别商品的默认关键字"
-#: part/models.py:126 part/models.py:2642 part/templates/part/category.html:15
+#: part/models.py:126 part/models.py:2637 part/templates/part/category.html:15
#: part/templates/part/part_app_base.html:10
msgid "Part Category"
msgstr "商品类别"
@@ -4232,7 +4122,7 @@ msgstr "商品类别"
#: part/templates/part/category_sidebar.html:9
#: templates/InvenTree/index.html:85 templates/InvenTree/search.html:82
#: templates/InvenTree/settings/sidebar.html:39
-#: templates/js/translated/part.js:1780 templates/js/translated/search.js:99
+#: templates/js/translated/part.js:1768 templates/js/translated/search.js:99
#: templates/navbar.html:24 users/models.py:41
msgid "Parts"
msgstr "商品"
@@ -4241,411 +4131,411 @@ msgstr "商品"
msgid "Invalid choice for parent part"
msgstr ""
-#: part/models.py:540 part/models.py:552
+#: part/models.py:535 part/models.py:547
#, python-brace-format
msgid "Part '{p1}' is used in BOM for '{p2}' (recursive)"
msgstr ""
-#: part/models.py:682
+#: part/models.py:677
msgid "Next available serial numbers are"
msgstr ""
-#: part/models.py:686
+#: part/models.py:681
msgid "Next available serial number is"
msgstr ""
-#: part/models.py:691
+#: part/models.py:686
msgid "Most recent serial number is"
msgstr ""
-#: part/models.py:787
+#: part/models.py:782
msgid "Duplicate IPN not allowed in part settings"
msgstr "在商品设置中不允许重复的IPN"
-#: part/models.py:816 part/models.py:2695
+#: part/models.py:811 part/models.py:2690
msgid "Part name"
msgstr "商品名称"
-#: part/models.py:823
+#: part/models.py:818
msgid "Is Template"
msgstr ""
-#: part/models.py:824
+#: part/models.py:819
msgid "Is this part a template part?"
msgstr ""
-#: part/models.py:834
+#: part/models.py:829
msgid "Is this part a variant of another part?"
msgstr ""
-#: part/models.py:835
+#: part/models.py:830
msgid "Variant Of"
msgstr ""
-#: part/models.py:841
+#: part/models.py:836
msgid "Part description"
msgstr "商品描述"
-#: part/models.py:846 part/templates/part/category.html:86
+#: part/models.py:841 part/templates/part/category.html:86
#: part/templates/part/part_base.html:294
msgid "Keywords"
msgstr "关键词"
-#: part/models.py:847
+#: part/models.py:842
msgid "Part keywords to improve visibility in search results"
msgstr "提高搜索结果可见性的关键字"
-#: part/models.py:854 part/models.py:2392 part/models.py:2641
+#: part/models.py:849 part/models.py:2387 part/models.py:2636
#: part/templates/part/part_base.html:257
#: part/templates/part/set_category.html:15
#: templates/InvenTree/notifications/notifications.html:65
-#: templates/InvenTree/settings/settings.html:224
+#: templates/InvenTree/settings/settings.html:227
#: templates/js/translated/part.js:1369
msgid "Category"
msgstr "类别"
-#: part/models.py:855
+#: part/models.py:850
msgid "Part category"
msgstr "商品类别"
-#: part/models.py:860 part/templates/part/part_base.html:266
+#: part/models.py:855 part/templates/part/part_base.html:266
#: templates/js/translated/part.js:666 templates/js/translated/part.js:1322
-#: templates/js/translated/stock.js:1668
+#: templates/js/translated/stock.js:1669
msgid "IPN"
msgstr ""
-#: part/models.py:861
+#: part/models.py:856
msgid "Internal Part Number"
msgstr "内部商品编号"
-#: part/models.py:867
+#: part/models.py:862
msgid "Part revision or version number"
msgstr "商品版本号"
-#: part/models.py:868 part/templates/part/part_base.html:273
+#: part/models.py:863 part/templates/part/part_base.html:273
#: report/models.py:196 templates/js/translated/part.js:670
msgid "Revision"
msgstr ""
-#: part/models.py:890
+#: part/models.py:885
msgid "Where is this item normally stored?"
msgstr ""
-#: part/models.py:937 part/templates/part/part_base.html:339
+#: part/models.py:932 part/templates/part/part_base.html:339
msgid "Default Supplier"
msgstr ""
-#: part/models.py:938
+#: part/models.py:933
msgid "Default supplier part"
msgstr "默认供应商商品"
-#: part/models.py:945
+#: part/models.py:940
msgid "Default Expiry"
msgstr ""
-#: part/models.py:946
+#: part/models.py:941
msgid "Expiry time (in days) for stock items of this part"
msgstr ""
-#: part/models.py:951 part/templates/part/part_base.html:200
+#: part/models.py:946 part/templates/part/part_base.html:200
msgid "Minimum Stock"
msgstr "最低库存"
-#: part/models.py:952
+#: part/models.py:947
msgid "Minimum allowed stock level"
msgstr ""
-#: part/models.py:959
+#: part/models.py:954
msgid "Stock keeping units for this part"
msgstr ""
-#: part/models.py:965
+#: part/models.py:960
msgid "Can this part be built from other parts?"
msgstr ""
-#: part/models.py:971
+#: part/models.py:966
msgid "Can this part be used to build other parts?"
msgstr ""
-#: part/models.py:977
+#: part/models.py:972
msgid "Does this part have tracking for unique items?"
msgstr ""
-#: part/models.py:982
+#: part/models.py:977
msgid "Can this part be purchased from external suppliers?"
msgstr ""
-#: part/models.py:987
+#: part/models.py:982
msgid "Can this part be sold to customers?"
msgstr "此商品可以销售给客户吗?"
-#: part/models.py:992
+#: part/models.py:987
msgid "Is this part active?"
msgstr ""
-#: part/models.py:997
+#: part/models.py:992
msgid "Is this a virtual part, such as a software product or license?"
msgstr "这是一个虚拟商品,如软件产品或许可证吗?"
-#: part/models.py:1002
+#: part/models.py:997
msgid "Part notes - supports Markdown formatting"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "BOM checksum"
msgstr ""
-#: part/models.py:1005
+#: part/models.py:1000
msgid "Stored BOM checksum"
msgstr ""
-#: part/models.py:1008
+#: part/models.py:1003
msgid "BOM checked by"
msgstr ""
-#: part/models.py:1010
+#: part/models.py:1005
msgid "BOM checked date"
msgstr ""
-#: part/models.py:1014
+#: part/models.py:1009
msgid "Creation User"
msgstr "新建用户"
-#: part/models.py:1878
+#: part/models.py:1873
msgid "Sell multiple"
msgstr ""
-#: part/models.py:2442
+#: part/models.py:2437
msgid "Test templates can only be created for trackable parts"
msgstr ""
-#: part/models.py:2459
+#: part/models.py:2454
msgid "Test with this name already exists for this part"
msgstr ""
-#: part/models.py:2479 templates/js/translated/part.js:1831
-#: templates/js/translated/stock.js:1283
+#: part/models.py:2474 templates/js/translated/part.js:1819
+#: templates/js/translated/stock.js:1284
msgid "Test Name"
msgstr ""
-#: part/models.py:2480
+#: part/models.py:2475
msgid "Enter a name for the test"
msgstr ""
-#: part/models.py:2485
+#: part/models.py:2480
msgid "Test Description"
msgstr ""
-#: part/models.py:2486
+#: part/models.py:2481
msgid "Enter description for this test"
msgstr ""
-#: part/models.py:2491 templates/js/translated/part.js:1840
+#: part/models.py:2486 templates/js/translated/part.js:1828
#: templates/js/translated/table_filters.js:294
msgid "Required"
msgstr ""
-#: part/models.py:2492
+#: part/models.py:2487
msgid "Is this test required to pass?"
msgstr ""
-#: part/models.py:2497 templates/js/translated/part.js:1848
+#: part/models.py:2492 templates/js/translated/part.js:1836
msgid "Requires Value"
msgstr ""
-#: part/models.py:2498
+#: part/models.py:2493
msgid "Does this test require a value when adding a test result?"
msgstr ""
-#: part/models.py:2503 templates/js/translated/part.js:1855
+#: part/models.py:2498 templates/js/translated/part.js:1843
msgid "Requires Attachment"
msgstr ""
-#: part/models.py:2504
+#: part/models.py:2499
msgid "Does this test require a file attachment when adding a test result?"
msgstr ""
-#: part/models.py:2515
+#: part/models.py:2510
#, python-brace-format
msgid "Illegal character in template name ({c})"
msgstr ""
-#: part/models.py:2551
+#: part/models.py:2546
msgid "Parameter template name must be unique"
msgstr ""
-#: part/models.py:2559
+#: part/models.py:2554
msgid "Parameter Name"
msgstr ""
-#: part/models.py:2566
+#: part/models.py:2561
msgid "Parameter Units"
msgstr ""
-#: part/models.py:2596
+#: part/models.py:2591
msgid "Parent Part"
msgstr ""
-#: part/models.py:2598 part/models.py:2647 part/models.py:2648
-#: templates/InvenTree/settings/settings.html:219
+#: part/models.py:2593 part/models.py:2642 part/models.py:2643
+#: templates/InvenTree/settings/settings.html:222
msgid "Parameter Template"
msgstr "参数模板"
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Data"
msgstr ""
-#: part/models.py:2600
+#: part/models.py:2595
msgid "Parameter Value"
msgstr ""
-#: part/models.py:2652 templates/InvenTree/settings/settings.html:228
+#: part/models.py:2647 templates/InvenTree/settings/settings.html:231
msgid "Default Value"
msgstr "默认值"
-#: part/models.py:2653
+#: part/models.py:2648
msgid "Default Parameter Value"
msgstr ""
-#: part/models.py:2687
+#: part/models.py:2682
msgid "Part ID or part name"
msgstr ""
-#: part/models.py:2690 templates/js/translated/model_renderers.js:200
+#: part/models.py:2685 templates/js/translated/model_renderers.js:200
msgid "Part ID"
msgstr "商品ID"
-#: part/models.py:2691
+#: part/models.py:2686
msgid "Unique part ID value"
msgstr ""
-#: part/models.py:2694
+#: part/models.py:2689
msgid "Part Name"
msgstr ""
-#: part/models.py:2698
+#: part/models.py:2693
msgid "Part IPN"
msgstr ""
-#: part/models.py:2699
+#: part/models.py:2694
msgid "Part IPN value"
msgstr ""
-#: part/models.py:2702
+#: part/models.py:2697
msgid "Level"
msgstr ""
-#: part/models.py:2703
+#: part/models.py:2698
msgid "BOM level"
msgstr ""
-#: part/models.py:2778
+#: part/models.py:2773
msgid "Select parent part"
msgstr ""
-#: part/models.py:2786
+#: part/models.py:2781
msgid "Sub part"
msgstr ""
-#: part/models.py:2787
+#: part/models.py:2782
msgid "Select part to be used in BOM"
msgstr ""
-#: part/models.py:2793
+#: part/models.py:2788
msgid "BOM quantity for this BOM item"
msgstr ""
-#: part/models.py:2795 part/templates/part/upload_bom.html:58
+#: part/models.py:2790 part/templates/part/upload_bom.html:58
#: templates/js/translated/bom.js:816 templates/js/translated/bom.js:910
#: templates/js/translated/table_filters.js:92
msgid "Optional"
msgstr "可选项"
-#: part/models.py:2795
+#: part/models.py:2790
msgid "This BOM item is optional"
msgstr ""
-#: part/models.py:2798 part/templates/part/upload_bom.html:55
+#: part/models.py:2793 part/templates/part/upload_bom.html:55
msgid "Overage"
msgstr ""
-#: part/models.py:2799
+#: part/models.py:2794
msgid "Estimated build wastage quantity (absolute or percentage)"
msgstr ""
-#: part/models.py:2802
+#: part/models.py:2797
msgid "BOM item reference"
msgstr ""
-#: part/models.py:2805
+#: part/models.py:2800
msgid "BOM item notes"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "Checksum"
msgstr ""
-#: part/models.py:2807
+#: part/models.py:2802
msgid "BOM line checksum"
msgstr ""
-#: part/models.py:2811 part/templates/part/upload_bom.html:57
+#: part/models.py:2806 part/templates/part/upload_bom.html:57
#: templates/js/translated/bom.js:927
#: templates/js/translated/table_filters.js:68
#: templates/js/translated/table_filters.js:88
msgid "Inherited"
msgstr "继承项"
-#: part/models.py:2812
+#: part/models.py:2807
msgid "This BOM item is inherited by BOMs for variant parts"
msgstr ""
-#: part/models.py:2817 part/templates/part/upload_bom.html:56
+#: part/models.py:2812 part/templates/part/upload_bom.html:56
#: templates/js/translated/bom.js:919
msgid "Allow Variants"
msgstr ""
-#: part/models.py:2818
+#: part/models.py:2813
msgid "Stock items for variant parts can be used for this BOM item"
msgstr ""
-#: part/models.py:2903 stock/models.py:497
+#: part/models.py:2898 stock/models.py:497
msgid "Quantity must be integer value for trackable parts"
msgstr ""
-#: part/models.py:2912 part/models.py:2914
+#: part/models.py:2907 part/models.py:2909
msgid "Sub part must be specified"
msgstr ""
-#: part/models.py:3026
+#: part/models.py:3021
msgid "BOM Item Substitute"
msgstr ""
-#: part/models.py:3048
+#: part/models.py:3043
msgid "Substitute part cannot be the same as the master part"
msgstr ""
-#: part/models.py:3060
+#: part/models.py:3055
msgid "Parent BOM item"
msgstr ""
-#: part/models.py:3068
+#: part/models.py:3063
msgid "Substitute part"
msgstr ""
-#: part/models.py:3079
+#: part/models.py:3074
msgid "Part 1"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Part 2"
msgstr ""
-#: part/models.py:3083
+#: part/models.py:3078
msgid "Select Related Part"
msgstr ""
-#: part/models.py:3115
+#: part/models.py:3110
msgid "Error creating relationship: check that the part is not related to itself and that the relationship is unique"
msgstr ""
@@ -4805,7 +4695,7 @@ msgstr "类别路径"
msgid "Top level part category"
msgstr ""
-#: part/templates/part/category.html:114 part/templates/part/category.html:211
+#: part/templates/part/category.html:114 part/templates/part/category.html:216
#: part/templates/part/category_sidebar.html:7
msgid "Subcategories"
msgstr "子类别"
@@ -4826,39 +4716,31 @@ msgstr "新商品"
msgid "Set category"
msgstr "设置类别"
-#: part/templates/part/category.html:172
+#: part/templates/part/category.html:173
msgid "Set Category"
msgstr "设置类别"
-#: part/templates/part/category.html:176
+#: part/templates/part/category.html:180 part/templates/part/category.html:181
msgid "Print Labels"
msgstr "打印标签"
-#: part/templates/part/category.html:178
-msgid "Export"
-msgstr "导出"
-
-#: part/templates/part/category.html:178
-msgid "Export Data"
-msgstr "导出数据"
-
-#: part/templates/part/category.html:201
+#: part/templates/part/category.html:206
msgid "Part Parameters"
msgstr "商品参数"
-#: part/templates/part/category.html:309
+#: part/templates/part/category.html:314
msgid "Create Part Category"
msgstr "创建商品类别"
-#: part/templates/part/category.html:329
+#: part/templates/part/category.html:334
msgid "Create Part"
msgstr "创建商品"
-#: part/templates/part/category.html:332
+#: part/templates/part/category.html:337
msgid "Create another part after this one"
msgstr ""
-#: part/templates/part/category.html:333
+#: part/templates/part/category.html:338
msgid "Part created successfully"
msgstr ""
@@ -5046,26 +4928,26 @@ msgstr ""
msgid "Add Related Part"
msgstr ""
-#: part/templates/part/detail.html:794
+#: part/templates/part/detail.html:800
msgid "Add Test Result Template"
msgstr ""
-#: part/templates/part/detail.html:927
+#: part/templates/part/detail.html:933
#, python-format
msgid "Purchase Unit Price - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:939
+#: part/templates/part/detail.html:945
#, python-format
msgid "Unit Price-Cost Difference - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:951
+#: part/templates/part/detail.html:957
#, python-format
msgid "Supplier Unit Cost - %(currency)s"
msgstr ""
-#: part/templates/part/detail.html:1040
+#: part/templates/part/detail.html:1046
#, python-format
msgid "Unit Price - %(currency)s"
msgstr ""
@@ -5216,7 +5098,7 @@ msgid "Inactive"
msgstr ""
#: part/templates/part/part_base.html:160
-#: part/templates/part/part_base.html:573
+#: part/templates/part/part_base.html:580
msgid "Show Part Details"
msgstr ""
@@ -5225,7 +5107,7 @@ msgstr ""
msgid "This part is a variant of %(link)s"
msgstr ""
-#: part/templates/part/part_base.html:194 templates/js/translated/order.js:2702
+#: part/templates/part/part_base.html:194 templates/js/translated/order.js:3158
#: templates/js/translated/table_filters.js:193
msgid "In Stock"
msgstr ""
@@ -5269,7 +5151,7 @@ msgstr ""
msgid "No matching images found"
msgstr ""
-#: part/templates/part/part_base.html:567
+#: part/templates/part/part_base.html:574
msgid "Hide Part Details"
msgstr ""
@@ -5382,7 +5264,7 @@ msgstr ""
msgid "There are %(count)s suppliers defined for this part. If you delete this part, the following supplier parts will also be deleted:"
msgstr ""
-#: part/templates/part/partial_delete.html:65
+#: part/templates/part/partial_delete.html:67
#, python-format
msgid "There are %(count)s unique parts tracked for '%(full_name)s'. Deleting this part will permanently remove this tracking information."
msgstr ""
@@ -5457,6 +5339,10 @@ msgstr ""
msgid "Set category for the following parts"
msgstr "为以下商品设置类别"
+#: part/templates/part/set_category.html:32
+msgid "Remove part"
+msgstr "移除商品"
+
#: part/templates/part/stock_count.html:7 templates/js/translated/part.js:543
#: templates/js/translated/part.js:1221 templates/js/translated/part.js:1425
msgid "No Stock"
@@ -5578,27 +5464,23 @@ msgstr ""
msgid "Delete Part Parameter Template"
msgstr ""
-#: part/views.py:1012 templates/js/translated/part.js:317
-msgid "Edit Part Category"
-msgstr "编辑商品类别"
-
-#: part/views.py:1050
+#: part/views.py:1011
msgid "Delete Part Category"
msgstr "删除商品类别"
-#: part/views.py:1056
+#: part/views.py:1017
msgid "Part category was deleted"
msgstr "商品类别已删除"
-#: part/views.py:1065
+#: part/views.py:1026
msgid "Create Category Parameter Template"
msgstr "创建类别参数模板"
-#: part/views.py:1166
+#: part/views.py:1127
msgid "Edit Category Parameter Template"
msgstr "编辑类别参数模板"
-#: part/views.py:1222
+#: part/views.py:1183
msgid "Delete Category Parameter Template"
msgstr "删除类别参数模板"
@@ -5606,7 +5488,25 @@ msgstr "删除类别参数模板"
msgid "Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details."
msgstr ""
-#: plugin/events.py:225
+#: plugin/builtin/integration/core_notifications.py:24
+msgid "InvenTree contributors"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:25
+msgid "Integrated outgoing notificaton methods"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:29
+#: plugin/builtin/integration/core_notifications.py:46
+msgid "Enable email notifications"
+msgstr ""
+
+#: plugin/builtin/integration/core_notifications.py:30
+#: plugin/builtin/integration/core_notifications.py:47
+msgid "Allow sending of emails for event notifications"
+msgstr ""
+
+#: plugin/events.py:222
msgid "Label printing failed"
msgstr ""
@@ -5618,34 +5518,38 @@ msgstr ""
msgid "No date found"
msgstr ""
-#: plugin/models.py:26
+#: plugin/models.py:27
msgid "Plugin Configuration"
msgstr ""
-#: plugin/models.py:27
+#: plugin/models.py:28
msgid "Plugin Configurations"
msgstr ""
-#: plugin/models.py:32
+#: plugin/models.py:33
msgid "Key"
msgstr ""
-#: plugin/models.py:33
+#: plugin/models.py:34
msgid "Key of plugin"
msgstr ""
-#: plugin/models.py:41
+#: plugin/models.py:42
msgid "PluginName of the plugin"
msgstr ""
-#: plugin/models.py:47
+#: plugin/models.py:48
msgid "Is the plugin active"
msgstr ""
-#: plugin/models.py:182
+#: plugin/models.py:149
msgid "Plugin"
msgstr ""
+#: plugin/models.py:176
+msgid "Method"
+msgstr ""
+
#: plugin/samples/integration/sample.py:42
msgid "Enable PO"
msgstr ""
@@ -5803,17 +5707,21 @@ msgstr ""
msgid "Required For"
msgstr ""
+#: report/templates/report/inventree_po_report.html:77
+msgid "Supplier was deleted"
+msgstr ""
+
#: report/templates/report/inventree_test_report_base.html:21
msgid "Stock Item Test Report"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:79
#: stock/models.py:659 stock/templates/stock/item_base.html:156
-#: templates/js/translated/build.js:376 templates/js/translated/build.js:528
-#: templates/js/translated/build.js:1133 templates/js/translated/build.js:1638
+#: templates/js/translated/build.js:420 templates/js/translated/build.js:572
+#: templates/js/translated/build.js:1177 templates/js/translated/build.js:1687
#: templates/js/translated/model_renderers.js:106
-#: templates/js/translated/order.js:103 templates/js/translated/order.js:2388
-#: templates/js/translated/order.js:2477 templates/js/translated/stock.js:434
+#: templates/js/translated/order.js:108 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:2933 templates/js/translated/stock.js:435
msgid "Serial Number"
msgstr "序列号"
@@ -5834,7 +5742,7 @@ msgstr ""
#: report/templates/report/inventree_test_report_base.html:97
#: templates/InvenTree/settings/plugin.html:51
#: templates/InvenTree/settings/plugin_settings.html:38
-#: templates/js/translated/order.js:1010 templates/js/translated/stock.js:2344
+#: templates/js/translated/order.js:1466 templates/js/translated/stock.js:2345
msgid "Date"
msgstr ""
@@ -5852,67 +5760,25 @@ msgid "Installed Items"
msgstr ""
#: report/templates/report/inventree_test_report_base.html:137
-#: templates/js/translated/stock.js:554 templates/js/translated/stock.js:724
-#: templates/js/translated/stock.js:2593
+#: templates/js/translated/stock.js:555 templates/js/translated/stock.js:725
+#: templates/js/translated/stock.js:2594
msgid "Serial"
msgstr ""
-#: stock/api.py:545
+#: stock/api.py:546
msgid "Quantity is required"
msgstr ""
-#: stock/api.py:552
+#: stock/api.py:553
msgid "Valid part must be supplied"
msgstr ""
-#: stock/api.py:577
+#: stock/api.py:578
msgid "Serial numbers cannot be supplied for a non-trackable part"
msgstr ""
-#: stock/forms.py:74 stock/forms.py:198 stock/models.py:717
-#: stock/templates/stock/item_base.html:193
-#: templates/js/translated/stock.js:1821
-msgid "Expiry Date"
-msgstr ""
-
-#: stock/forms.py:75 stock/forms.py:199
-msgid "Expiration date for this stock item"
-msgstr ""
-
-#: stock/forms.py:78
-msgid "Enter unique serial numbers (or leave blank)"
-msgstr ""
-
-#: stock/forms.py:133
-msgid "Destination for serialized stock (by default, will remain in current location)"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Serial numbers"
-msgstr ""
-
-#: stock/forms.py:135
-msgid "Unique serial numbers (must match quantity)"
-msgstr ""
-
-#: stock/forms.py:137 stock/forms.py:171
-msgid "Add transaction note (optional)"
-msgstr ""
-
-#: stock/forms.py:169
-msgid "Destination location for uninstalled items"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm uninstall"
-msgstr ""
-
-#: stock/forms.py:173
-msgid "Confirm removal of installed stock items"
-msgstr ""
-
#: stock/models.py:93 stock/models.py:754
-#: stock/templates/stock/item_base.html:407
+#: stock/templates/stock/item_base.html:411
msgid "Owner"
msgstr ""
@@ -6014,6 +5880,11 @@ msgstr ""
msgid "Destination Sales Order"
msgstr ""
+#: stock/models.py:717 stock/templates/stock/item_base.html:193
+#: templates/js/translated/stock.js:1822
+msgid "Expiry Date"
+msgstr ""
+
#: stock/models.py:718
msgid "Expiry date for stock item. Stock will be considered expired after this date"
msgstr ""
@@ -6088,7 +5959,7 @@ msgstr ""
msgid "Serialized stock cannot be merged"
msgstr ""
-#: stock/models.py:1420 stock/serializers.py:832
+#: stock/models.py:1420 stock/serializers.py:874
msgid "Duplicate stock items"
msgstr ""
@@ -6157,7 +6028,7 @@ msgstr ""
msgid "Enter serial numbers for new items"
msgstr ""
-#: stock/serializers.py:326 stock/serializers.py:789 stock/serializers.py:1030
+#: stock/serializers.py:326 stock/serializers.py:831 stock/serializers.py:1072
msgid "Destination stock location"
msgstr ""
@@ -6169,7 +6040,7 @@ msgstr ""
msgid "Serial numbers cannot be assigned to this part"
msgstr ""
-#: stock/serializers.py:363 stock/views.py:1019
+#: stock/serializers.py:363
msgid "Serial numbers already exist"
msgstr "序列号已存在"
@@ -6185,63 +6056,71 @@ msgstr ""
msgid "Selected part is not in the Bill of Materials"
msgstr ""
-#: stock/serializers.py:646
+#: stock/serializers.py:466
+msgid "Destination location for uninstalled item"
+msgstr ""
+
+#: stock/serializers.py:471
+msgid "Add transaction note (optional)"
+msgstr ""
+
+#: stock/serializers.py:688
msgid "Part must be salable"
msgstr ""
-#: stock/serializers.py:650
+#: stock/serializers.py:692
msgid "Item is allocated to a sales order"
msgstr ""
-#: stock/serializers.py:654
+#: stock/serializers.py:696
msgid "Item is allocated to a build order"
msgstr ""
-#: stock/serializers.py:684
+#: stock/serializers.py:726
msgid "Customer to assign stock items"
msgstr ""
-#: stock/serializers.py:690
+#: stock/serializers.py:732
msgid "Selected company is not a customer"
msgstr ""
-#: stock/serializers.py:698
+#: stock/serializers.py:740
msgid "Stock assignment notes"
msgstr ""
-#: stock/serializers.py:708 stock/serializers.py:938
+#: stock/serializers.py:750 stock/serializers.py:980
msgid "A list of stock items must be provided"
msgstr ""
-#: stock/serializers.py:796
+#: stock/serializers.py:838
msgid "Stock merging notes"
msgstr ""
-#: stock/serializers.py:801
+#: stock/serializers.py:843
msgid "Allow mismatched suppliers"
msgstr ""
-#: stock/serializers.py:802
+#: stock/serializers.py:844
msgid "Allow stock items with different supplier parts to be merged"
msgstr ""
-#: stock/serializers.py:807
+#: stock/serializers.py:849
msgid "Allow mismatched status"
msgstr ""
-#: stock/serializers.py:808
+#: stock/serializers.py:850
msgid "Allow stock items with different status codes to be merged"
msgstr ""
-#: stock/serializers.py:818
+#: stock/serializers.py:860
msgid "At least two stock items must be provided"
msgstr ""
-#: stock/serializers.py:900
+#: stock/serializers.py:942
msgid "StockItem primary key value"
msgstr ""
-#: stock/serializers.py:928
+#: stock/serializers.py:970
msgid "Stock transaction notes"
msgstr ""
@@ -6282,17 +6161,17 @@ msgstr ""
msgid "Installed Stock Items"
msgstr ""
-#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2703
+#: stock/templates/stock/item.html:156 templates/js/translated/stock.js:2738
msgid "Install Stock Item"
msgstr ""
-#: stock/templates/stock/item.html:316 templates/js/translated/stock.js:1464
+#: stock/templates/stock/item.html:297 templates/js/translated/stock.js:1465
msgid "Add Test Result"
msgstr ""
#: stock/templates/stock/item_base.html:42
-#: templates/js/translated/barcode.js:384
-#: templates/js/translated/barcode.js:389
+#: templates/js/translated/barcode.js:383
+#: templates/js/translated/barcode.js:388
msgid "Unlink Barcode"
msgstr ""
@@ -6411,7 +6290,7 @@ msgid "Stale"
msgstr ""
#: stock/templates/stock/item_base.html:206
-#: templates/js/translated/stock.js:1837
+#: templates/js/translated/stock.js:1838
msgid "Last Updated"
msgstr ""
@@ -6448,7 +6327,7 @@ msgid "This stock item is serialized - it has a unique serial number and the qua
msgstr ""
#: stock/templates/stock/item_base.html:301
-#: templates/js/translated/build.js:1660
+#: templates/js/translated/build.js:1709
msgid "No location set"
msgstr "未设置仓储地点"
@@ -6464,20 +6343,20 @@ msgstr ""
msgid "No manufacturer set"
msgstr ""
-#: stock/templates/stock/item_base.html:393
+#: stock/templates/stock/item_base.html:397
msgid "Tests"
msgstr ""
-#: stock/templates/stock/item_base.html:411
+#: stock/templates/stock/item_base.html:415
msgid "You are not in the list of owners of this item. This stock item cannot be edited."
msgstr ""
-#: stock/templates/stock/item_base.html:412
+#: stock/templates/stock/item_base.html:416
#: stock/templates/stock/location.html:118
msgid "Read only"
msgstr ""
-#: stock/templates/stock/item_base.html:486
+#: stock/templates/stock/item_base.html:487
msgid "Edit Stock Status"
msgstr ""
@@ -6598,11 +6477,7 @@ msgstr ""
msgid "Child Items"
msgstr ""
-#: stock/templates/stock/stock_uninstall.html:8
-msgid "The following stock items will be uninstalled"
-msgstr ""
-
-#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:631
+#: stock/templates/stock/stockitem_convert.html:7 stock/views.py:228
msgid "Convert Stock Item"
msgstr ""
@@ -6615,6 +6490,10 @@ msgstr ""
msgid "It can be converted to one of the part variants listed below."
msgstr ""
+#: stock/templates/stock/stockitem_convert.html:13
+msgid "Warning"
+msgstr "警告"
+
#: stock/templates/stock/stockitem_convert.html:14
msgid "This action cannot be easily undone"
msgstr ""
@@ -6623,95 +6502,55 @@ msgstr ""
msgid "Are you sure you want to delete this stock tracking entry?"
msgstr ""
-#: stock/views.py:152 templates/js/translated/stock.js:138
-msgid "Edit Stock Location"
-msgstr "编辑仓储地点"
-
-#: stock/views.py:259 stock/views.py:610 stock/views.py:746 stock/views.py:1028
-msgid "Owner is required (ownership control is enabled)"
-msgstr ""
-
-#: stock/views.py:274
+#: stock/views.py:126
msgid "Stock Location QR code"
msgstr "仓储地点二维码"
-#: stock/views.py:293
+#: stock/views.py:145
msgid "Return to Stock"
msgstr ""
-#: stock/views.py:302
+#: stock/views.py:154
msgid "Specify a valid location"
msgstr "指定一个有效仓储地点"
-#: stock/views.py:313
+#: stock/views.py:165
msgid "Stock item returned from customer"
msgstr ""
-#: stock/views.py:324
+#: stock/views.py:176
msgid "Delete All Test Data"
msgstr ""
-#: stock/views.py:341
+#: stock/views.py:193
msgid "Confirm test data deletion"
msgstr ""
-#: stock/views.py:342
+#: stock/views.py:194
msgid "Check the confirmation box"
msgstr "选中确认框"
-#: stock/views.py:357
+#: stock/views.py:209
msgid "Stock Item QR Code"
msgstr ""
-#: stock/views.py:382
-msgid "Uninstall Stock Items"
-msgstr ""
-
-#: stock/views.py:479 templates/js/translated/stock.js:1046
-msgid "Confirm stock adjustment"
-msgstr ""
-
-#: stock/views.py:490
-msgid "Uninstalled stock items"
-msgstr ""
-
-#: stock/views.py:512 templates/js/translated/stock.js:343
-msgid "Edit Stock Item"
-msgstr ""
-
-#: stock/views.py:672
-msgid "Create new Stock Location"
-msgstr "新建仓储地点"
-
-#: stock/views.py:773
-msgid "Create new Stock Item"
-msgstr ""
-
-#: stock/views.py:915 templates/js/translated/stock.js:323
-msgid "Duplicate Stock Item"
-msgstr ""
-
-#: stock/views.py:997
-msgid "Quantity cannot be negative"
-msgstr ""
-
-#: stock/views.py:1097
+#: stock/views.py:265
msgid "Delete Stock Location"
msgstr "删除仓储地点"
-#: stock/views.py:1110
+#: stock/views.py:278
msgid "Delete Stock Item"
msgstr ""
-#: stock/views.py:1121
+#: stock/views.py:289
msgid "Delete Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1128
+#: stock/views.py:296
msgid "Edit Stock Tracking Entry"
msgstr ""
-#: stock/views.py:1137
+#: stock/views.py:305
msgid "Add Stock Tracking Entry"
msgstr ""
@@ -6846,7 +6685,7 @@ msgid "Notifications"
msgstr ""
#: templates/InvenTree/notifications/notifications.html:51
-#: templates/InvenTree/settings/settings.html:314
+#: templates/InvenTree/settings/settings.html:317
msgid "ID"
msgstr ""
@@ -7091,41 +6930,41 @@ msgstr "采购订单设置"
msgid "Report Settings"
msgstr "报表设置"
-#: templates/InvenTree/settings/setting.html:37
+#: templates/InvenTree/settings/setting.html:39
msgid "No value set"
msgstr "未设置值"
-#: templates/InvenTree/settings/setting.html:42
+#: templates/InvenTree/settings/setting.html:44
msgid "Edit setting"
msgstr "编辑设置"
-#: templates/InvenTree/settings/settings.html:116
+#: templates/InvenTree/settings/settings.html:119
msgid "Edit Plugin Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:118
+#: templates/InvenTree/settings/settings.html:121
msgid "Edit Global Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:120
+#: templates/InvenTree/settings/settings.html:123
msgid "Edit User Setting"
msgstr ""
-#: templates/InvenTree/settings/settings.html:209
+#: templates/InvenTree/settings/settings.html:212
msgid "No category parameter templates found"
msgstr "未找到类别参数模板"
-#: templates/InvenTree/settings/settings.html:231
-#: templates/InvenTree/settings/settings.html:330
+#: templates/InvenTree/settings/settings.html:234
+#: templates/InvenTree/settings/settings.html:333
msgid "Edit Template"
msgstr "编辑模板"
-#: templates/InvenTree/settings/settings.html:232
-#: templates/InvenTree/settings/settings.html:331
+#: templates/InvenTree/settings/settings.html:235
+#: templates/InvenTree/settings/settings.html:334
msgid "Delete Template"
msgstr "删除模板"
-#: templates/InvenTree/settings/settings.html:310
+#: templates/InvenTree/settings/settings.html:313
msgid "No part parameter templates found"
msgstr "未找到商品参数模板"
@@ -7416,7 +7255,7 @@ msgstr "主页设置"
msgid "Label Settings"
msgstr "标签设置"
-#: templates/InvenTree/settings/user_notifications.html:8
+#: templates/InvenTree/settings/user_notifications.html:9
msgid "Notification Settings"
msgstr ""
@@ -7426,10 +7265,10 @@ msgstr ""
#: templates/about.html:11 templates/about.html:105
#: templates/js/translated/bom.js:132 templates/js/translated/bom.js:620
-#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:584
-#: templates/js/translated/modals.js:678 templates/js/translated/modals.js:986
-#: templates/modals.html:15 templates/modals.html:27 templates/modals.html:39
-#: templates/modals.html:50
+#: templates/js/translated/modals.js:53 templates/js/translated/modals.js:589
+#: templates/js/translated/modals.js:683 templates/js/translated/modals.js:991
+#: templates/js/translated/order.js:806 templates/modals.html:15
+#: templates/modals.html:27 templates/modals.html:39 templates/modals.html:50
msgid "Close"
msgstr ""
@@ -7703,8 +7542,8 @@ msgstr ""
#: templates/email/build_order_required_stock.html:19
#: templates/email/low_stock_notification.html:18
-#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1754
-#: templates/js/translated/build.js:2495 templates/js/translated/part.js:527
+#: templates/js/translated/bom.js:829 templates/js/translated/build.js:1803
+#: templates/js/translated/build.js:2544 templates/js/translated/part.js:527
#: templates/js/translated/part.js:530
#: templates/js/translated/table_filters.js:178
msgid "Available"
@@ -7739,11 +7578,11 @@ msgstr ""
msgid "Remote image must not exceed maximum allowable file size"
msgstr ""
-#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1056
+#: templates/js/translated/api.js:190 templates/js/translated/modals.js:1061
msgid "No Response"
msgstr ""
-#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1057
+#: templates/js/translated/api.js:191 templates/js/translated/modals.js:1062
msgid "No response from the InvenTree server"
msgstr ""
@@ -7755,27 +7594,27 @@ msgstr ""
msgid "API request returned error code 400"
msgstr ""
-#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1066
+#: templates/js/translated/api.js:202 templates/js/translated/modals.js:1071
msgid "Error 401: Not Authenticated"
msgstr ""
-#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1067
+#: templates/js/translated/api.js:203 templates/js/translated/modals.js:1072
msgid "Authentication credentials not supplied"
msgstr ""
-#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1071
+#: templates/js/translated/api.js:207 templates/js/translated/modals.js:1076
msgid "Error 403: Permission Denied"
msgstr ""
-#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1072
+#: templates/js/translated/api.js:208 templates/js/translated/modals.js:1077
msgid "You do not have the required permissions to access this function"
msgstr ""
-#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1076
+#: templates/js/translated/api.js:212 templates/js/translated/modals.js:1081
msgid "Error 404: Resource Not Found"
msgstr ""
-#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1077
+#: templates/js/translated/api.js:213 templates/js/translated/modals.js:1082
msgid "The requested resource could not be located on the server"
msgstr ""
@@ -7787,11 +7626,11 @@ msgstr ""
msgid "HTTP method not allowed at URL"
msgstr ""
-#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1081
+#: templates/js/translated/api.js:222 templates/js/translated/modals.js:1086
msgid "Error 408: Timeout"
msgstr ""
-#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1082
+#: templates/js/translated/api.js:223 templates/js/translated/modals.js:1087
msgid "Connection timeout while requesting data from server"
msgstr ""
@@ -7843,89 +7682,89 @@ msgstr "输入条形码数据"
msgid "Barcode"
msgstr "条形码"
-#: templates/js/translated/barcode.js:96
+#: templates/js/translated/barcode.js:95
msgid "Enter optional notes for stock transfer"
msgstr ""
-#: templates/js/translated/barcode.js:97
+#: templates/js/translated/barcode.js:96
msgid "Enter notes"
msgstr ""
-#: templates/js/translated/barcode.js:135
+#: templates/js/translated/barcode.js:134
msgid "Server error"
msgstr ""
-#: templates/js/translated/barcode.js:156
+#: templates/js/translated/barcode.js:155
msgid "Unknown response from server"
msgstr ""
-#: templates/js/translated/barcode.js:183
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/barcode.js:182
+#: templates/js/translated/modals.js:1051
msgid "Invalid server response"
msgstr ""
-#: templates/js/translated/barcode.js:287
+#: templates/js/translated/barcode.js:286
msgid "Scan barcode data below"
msgstr ""
-#: templates/js/translated/barcode.js:334 templates/navbar.html:109
+#: templates/js/translated/barcode.js:333 templates/navbar.html:109
msgid "Scan Barcode"
msgstr "扫描条形码"
-#: templates/js/translated/barcode.js:345
+#: templates/js/translated/barcode.js:344
msgid "No URL in response"
msgstr ""
-#: templates/js/translated/barcode.js:363
+#: templates/js/translated/barcode.js:362
msgid "Link Barcode to Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:386
+#: templates/js/translated/barcode.js:385
msgid "This will remove the association between this stock item and the barcode"
msgstr ""
-#: templates/js/translated/barcode.js:392
+#: templates/js/translated/barcode.js:391
msgid "Unlink"
msgstr ""
-#: templates/js/translated/barcode.js:457 templates/js/translated/stock.js:998
+#: templates/js/translated/barcode.js:456 templates/js/translated/stock.js:999
msgid "Remove stock item"
msgstr ""
-#: templates/js/translated/barcode.js:499
+#: templates/js/translated/barcode.js:498
msgid "Check Stock Items into Location"
msgstr ""
-#: templates/js/translated/barcode.js:503
-#: templates/js/translated/barcode.js:635
+#: templates/js/translated/barcode.js:502
+#: templates/js/translated/barcode.js:634
msgid "Check In"
msgstr ""
-#: templates/js/translated/barcode.js:534
+#: templates/js/translated/barcode.js:533
msgid "No barcode provided"
msgstr ""
-#: templates/js/translated/barcode.js:569
+#: templates/js/translated/barcode.js:568
msgid "Stock Item already scanned"
msgstr ""
-#: templates/js/translated/barcode.js:573
+#: templates/js/translated/barcode.js:572
msgid "Stock Item already in this location"
msgstr ""
-#: templates/js/translated/barcode.js:580
+#: templates/js/translated/barcode.js:579
msgid "Added stock item"
msgstr ""
-#: templates/js/translated/barcode.js:587
+#: templates/js/translated/barcode.js:586
msgid "Barcode does not match Stock Item"
msgstr ""
-#: templates/js/translated/barcode.js:630
+#: templates/js/translated/barcode.js:629
msgid "Check Into Location"
msgstr ""
-#: templates/js/translated/barcode.js:693
+#: templates/js/translated/barcode.js:692
msgid "Barcode does not match a valid location"
msgstr ""
@@ -7942,12 +7781,12 @@ msgid "Download BOM Template"
msgstr ""
#: templates/js/translated/bom.js:252 templates/js/translated/bom.js:286
-#: templates/js/translated/order.js:455 templates/js/translated/tables.js:53
+#: templates/js/translated/order.js:587 templates/js/translated/tables.js:53
msgid "Format"
msgstr ""
#: templates/js/translated/bom.js:253 templates/js/translated/bom.js:287
-#: templates/js/translated/order.js:456
+#: templates/js/translated/order.js:588
msgid "Select file format"
msgstr ""
@@ -8031,24 +7870,24 @@ msgstr ""
msgid "Substitutes Available"
msgstr ""
-#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1736
+#: templates/js/translated/bom.js:777 templates/js/translated/build.js:1785
msgid "Variant stock allowed"
msgstr ""
-#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1781
+#: templates/js/translated/bom.js:845 templates/js/translated/build.js:1830
msgid "No Stock Available"
msgstr ""
-#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1785
+#: templates/js/translated/bom.js:849 templates/js/translated/build.js:1834
msgid "Includes variant and substitute stock"
msgstr ""
-#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1787
+#: templates/js/translated/bom.js:851 templates/js/translated/build.js:1836
#: templates/js/translated/part.js:690
msgid "Includes variant stock"
msgstr ""
-#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1789
+#: templates/js/translated/bom.js:853 templates/js/translated/build.js:1838
msgid "Includes substitute stock"
msgstr ""
@@ -8088,7 +7927,7 @@ msgstr ""
msgid "Delete BOM Item"
msgstr ""
-#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1582
+#: templates/js/translated/bom.js:1103 templates/js/translated/build.js:1631
msgid "No BOM items found"
msgstr ""
@@ -8096,7 +7935,7 @@ msgstr ""
msgid "Are you sure you want to delete this BOM item?"
msgstr ""
-#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1720
+#: templates/js/translated/bom.js:1353 templates/js/translated/build.js:1769
msgid "Required Part"
msgstr ""
@@ -8104,267 +7943,284 @@ msgstr ""
msgid "Inherited from parent BOM"
msgstr ""
-#: templates/js/translated/build.js:86
+#: templates/js/translated/build.js:87
msgid "Edit Build Order"
msgstr ""
-#: templates/js/translated/build.js:120
+#: templates/js/translated/build.js:121
msgid "Create Build Order"
msgstr ""
-#: templates/js/translated/build.js:141
+#: templates/js/translated/build.js:134
+msgid "Cancel Build Order"
+msgstr ""
+
+#: templates/js/translated/build.js:143
+msgid "Are you sure you wish to cancel this build?"
+msgstr "是否确定取消生产?"
+
+#: templates/js/translated/build.js:149
+msgid "Stock items have been allocated to this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:156
+msgid "There are incomplete outputs remaining for this build order"
+msgstr ""
+
+#: templates/js/translated/build.js:185
msgid "Build order is ready to be completed"
msgstr ""
-#: templates/js/translated/build.js:146
+#: templates/js/translated/build.js:190
msgid "Build Order is incomplete"
msgstr "生产订单未完成"
-#: templates/js/translated/build.js:174
+#: templates/js/translated/build.js:218
msgid "Complete Build Order"
msgstr "生产订单完成"
-#: templates/js/translated/build.js:215 templates/js/translated/stock.js:90
-#: templates/js/translated/stock.js:180
+#: templates/js/translated/build.js:259 templates/js/translated/stock.js:91
+#: templates/js/translated/stock.js:181
msgid "Next available serial number"
msgstr ""
-#: templates/js/translated/build.js:217 templates/js/translated/stock.js:92
-#: templates/js/translated/stock.js:182
+#: templates/js/translated/build.js:261 templates/js/translated/stock.js:93
+#: templates/js/translated/stock.js:183
msgid "Latest serial number"
msgstr ""
-#: templates/js/translated/build.js:226
+#: templates/js/translated/build.js:270
msgid "The Bill of Materials contains trackable parts"
msgstr ""
-#: templates/js/translated/build.js:227
+#: templates/js/translated/build.js:271
msgid "Build outputs must be generated individually"
msgstr ""
-#: templates/js/translated/build.js:235
+#: templates/js/translated/build.js:279
msgid "Trackable parts can have serial numbers specified"
msgstr "可追踪商品可以指定序列号"
-#: templates/js/translated/build.js:236
+#: templates/js/translated/build.js:280
msgid "Enter serial numbers to generate multiple single build outputs"
msgstr ""
-#: templates/js/translated/build.js:243
+#: templates/js/translated/build.js:287
msgid "Create Build Output"
msgstr "创建创建生产产出"
-#: templates/js/translated/build.js:274
+#: templates/js/translated/build.js:318
msgid "Allocate stock items to this build output"
msgstr ""
-#: templates/js/translated/build.js:285
+#: templates/js/translated/build.js:329
msgid "Unallocate stock from build output"
msgstr ""
-#: templates/js/translated/build.js:294
+#: templates/js/translated/build.js:338
msgid "Complete build output"
msgstr ""
-#: templates/js/translated/build.js:302
+#: templates/js/translated/build.js:346
msgid "Delete build output"
msgstr ""
-#: templates/js/translated/build.js:325
+#: templates/js/translated/build.js:369
msgid "Are you sure you wish to unallocate stock items from this build?"
msgstr ""
-#: templates/js/translated/build.js:343
+#: templates/js/translated/build.js:387
msgid "Unallocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:363 templates/js/translated/build.js:515
+#: templates/js/translated/build.js:407 templates/js/translated/build.js:559
msgid "Select Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:364 templates/js/translated/build.js:516
+#: templates/js/translated/build.js:408 templates/js/translated/build.js:560
msgid "At least one build output must be selected"
msgstr ""
-#: templates/js/translated/build.js:418 templates/js/translated/build.js:570
+#: templates/js/translated/build.js:462 templates/js/translated/build.js:614
msgid "Output"
msgstr ""
-#: templates/js/translated/build.js:436
+#: templates/js/translated/build.js:480
msgid "Complete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:583
+#: templates/js/translated/build.js:627
msgid "Delete Build Outputs"
msgstr ""
-#: templates/js/translated/build.js:672
+#: templates/js/translated/build.js:716
msgid "No build order allocations found"
msgstr ""
-#: templates/js/translated/build.js:710
+#: templates/js/translated/build.js:754
msgid "Location not specified"
msgstr "未指定仓储地点"
-#: templates/js/translated/build.js:1093
+#: templates/js/translated/build.js:1137
msgid "No active build outputs found"
msgstr ""
-#: templates/js/translated/build.js:1162
+#: templates/js/translated/build.js:1206
msgid "Allocated Stock"
msgstr ""
-#: templates/js/translated/build.js:1169
+#: templates/js/translated/build.js:1213
msgid "No tracked BOM items for this build"
msgstr ""
-#: templates/js/translated/build.js:1191
+#: templates/js/translated/build.js:1235
msgid "Completed Tests"
msgstr ""
-#: templates/js/translated/build.js:1196
+#: templates/js/translated/build.js:1240
msgid "No required tests for this build"
msgstr ""
-#: templates/js/translated/build.js:1677 templates/js/translated/build.js:2506
-#: templates/js/translated/order.js:2425
+#: templates/js/translated/build.js:1726 templates/js/translated/build.js:2555
+#: templates/js/translated/order.js:2881
msgid "Edit stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1679 templates/js/translated/build.js:2507
-#: templates/js/translated/order.js:2426
+#: templates/js/translated/build.js:1728 templates/js/translated/build.js:2556
+#: templates/js/translated/order.js:2882
msgid "Delete stock allocation"
msgstr ""
-#: templates/js/translated/build.js:1697
+#: templates/js/translated/build.js:1746
msgid "Edit Allocation"
msgstr ""
-#: templates/js/translated/build.js:1707
+#: templates/js/translated/build.js:1756
msgid "Remove Allocation"
msgstr ""
-#: templates/js/translated/build.js:1732
+#: templates/js/translated/build.js:1781
msgid "Substitute parts available"
msgstr ""
-#: templates/js/translated/build.js:1749
+#: templates/js/translated/build.js:1798
msgid "Quantity Per"
msgstr ""
-#: templates/js/translated/build.js:1775
+#: templates/js/translated/build.js:1824
msgid "Insufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1777
+#: templates/js/translated/build.js:1826
msgid "Sufficient stock available"
msgstr ""
-#: templates/js/translated/build.js:1806 templates/js/translated/build.js:2051
-#: templates/js/translated/build.js:2502 templates/js/translated/order.js:2712
+#: templates/js/translated/build.js:1855 templates/js/translated/build.js:2100
+#: templates/js/translated/build.js:2551 templates/js/translated/order.js:3168
msgid "Allocated"
msgstr ""
-#: templates/js/translated/build.js:1854 templates/js/translated/order.js:2792
+#: templates/js/translated/build.js:1903 templates/js/translated/order.js:3248
msgid "Build stock"
msgstr ""
-#: templates/js/translated/build.js:1858 templates/stock_table.html:50
+#: templates/js/translated/build.js:1907 templates/stock_table.html:50
msgid "Order stock"
msgstr ""
-#: templates/js/translated/build.js:1861 templates/js/translated/order.js:2785
+#: templates/js/translated/build.js:1910 templates/js/translated/order.js:3241
msgid "Allocate stock"
msgstr ""
-#: templates/js/translated/build.js:1900 templates/js/translated/label.js:172
-#: templates/js/translated/order.js:2001 templates/js/translated/report.js:225
+#: templates/js/translated/build.js:1949 templates/js/translated/label.js:172
+#: templates/js/translated/order.js:634 templates/js/translated/order.js:2457
+#: templates/js/translated/report.js:225
msgid "Select Parts"
msgstr "选择商品"
-#: templates/js/translated/build.js:1901 templates/js/translated/order.js:2002
+#: templates/js/translated/build.js:1950 templates/js/translated/order.js:2458
msgid "You must select at least one part to allocate"
msgstr ""
-#: templates/js/translated/build.js:1950 templates/js/translated/order.js:1950
+#: templates/js/translated/build.js:1999 templates/js/translated/order.js:2406
msgid "Specify stock allocation quantity"
msgstr ""
-#: templates/js/translated/build.js:2024
+#: templates/js/translated/build.js:2073
msgid "All Parts Allocated"
msgstr ""
-#: templates/js/translated/build.js:2025
+#: templates/js/translated/build.js:2074
msgid "All selected parts have been fully allocated"
msgstr ""
-#: templates/js/translated/build.js:2039 templates/js/translated/order.js:2016
+#: templates/js/translated/build.js:2088 templates/js/translated/order.js:2472
msgid "Select source location (leave blank to take from all locations)"
msgstr ""
-#: templates/js/translated/build.js:2067
+#: templates/js/translated/build.js:2116
msgid "Allocate Stock Items to Build Order"
msgstr ""
-#: templates/js/translated/build.js:2078 templates/js/translated/order.js:2064
+#: templates/js/translated/build.js:2127 templates/js/translated/order.js:2520
msgid "No matching stock locations"
msgstr ""
-#: templates/js/translated/build.js:2150 templates/js/translated/order.js:2141
+#: templates/js/translated/build.js:2199 templates/js/translated/order.js:2597
msgid "No matching stock items"
msgstr ""
-#: templates/js/translated/build.js:2247
+#: templates/js/translated/build.js:2296
msgid "Automatic Stock Allocation"
msgstr ""
-#: templates/js/translated/build.js:2248
+#: templates/js/translated/build.js:2297
msgid "Stock items will be automatically allocated to this build order, according to the provided guidelines"
msgstr ""
-#: templates/js/translated/build.js:2250
+#: templates/js/translated/build.js:2299
msgid "If a location is specifed, stock will only be allocated from that location"
msgstr ""
-#: templates/js/translated/build.js:2251
+#: templates/js/translated/build.js:2300
msgid "If stock is considered interchangeable, it will be allocated from the first location it is found"
msgstr ""
-#: templates/js/translated/build.js:2252
+#: templates/js/translated/build.js:2301
msgid "If substitute stock is allowed, it will be used where stock of the primary part cannot be found"
msgstr ""
-#: templates/js/translated/build.js:2273
+#: templates/js/translated/build.js:2322
msgid "Allocate Stock Items"
msgstr ""
-#: templates/js/translated/build.js:2313
+#: templates/js/translated/build.js:2362
msgid "No builds matching query"
msgstr ""
-#: templates/js/translated/build.js:2330 templates/js/translated/part.js:1314
-#: templates/js/translated/part.js:1741 templates/js/translated/stock.js:1628
-#: templates/js/translated/stock.js:2281
+#: templates/js/translated/build.js:2379 templates/js/translated/part.js:1314
+#: templates/js/translated/part.js:1729 templates/js/translated/stock.js:1629
+#: templates/js/translated/stock.js:2282
msgid "Select"
msgstr ""
-#: templates/js/translated/build.js:2350
+#: templates/js/translated/build.js:2399
msgid "Build order is overdue"
msgstr ""
-#: templates/js/translated/build.js:2378
+#: templates/js/translated/build.js:2427
msgid "Progress"
msgstr ""
-#: templates/js/translated/build.js:2414 templates/js/translated/stock.js:2523
+#: templates/js/translated/build.js:2463 templates/js/translated/stock.js:2524
msgid "No user information"
msgstr "没有用户信息"
-#: templates/js/translated/build.js:2426
+#: templates/js/translated/build.js:2475
msgid "No information"
msgstr ""
-#: templates/js/translated/build.js:2483
+#: templates/js/translated/build.js:2532
msgid "No parts allocated for"
msgstr ""
@@ -8384,7 +8240,7 @@ msgstr "编辑制造商商品"
msgid "Delete Manufacturer Part"
msgstr "删除制造商商品"
-#: templates/js/translated/company.js:165 templates/js/translated/order.js:252
+#: templates/js/translated/company.js:165 templates/js/translated/order.js:384
msgid "Add Supplier"
msgstr "添加供应商"
@@ -8498,61 +8354,61 @@ msgstr ""
msgid "Create filter"
msgstr ""
-#: templates/js/translated/forms.js:351 templates/js/translated/forms.js:366
-#: templates/js/translated/forms.js:380 templates/js/translated/forms.js:394
+#: templates/js/translated/forms.js:357 templates/js/translated/forms.js:372
+#: templates/js/translated/forms.js:386 templates/js/translated/forms.js:400
msgid "Action Prohibited"
msgstr ""
-#: templates/js/translated/forms.js:353
+#: templates/js/translated/forms.js:359
msgid "Create operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:368
+#: templates/js/translated/forms.js:374
msgid "Update operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:382
+#: templates/js/translated/forms.js:388
msgid "Delete operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:396
+#: templates/js/translated/forms.js:402
msgid "View operation not allowed"
msgstr ""
-#: templates/js/translated/forms.js:627
+#: templates/js/translated/forms.js:640
msgid "Keep this form open"
msgstr ""
-#: templates/js/translated/forms.js:702
+#: templates/js/translated/forms.js:715
msgid "Enter a valid number"
msgstr ""
-#: templates/js/translated/forms.js:1194 templates/modals.html:19
+#: templates/js/translated/forms.js:1207 templates/modals.html:19
#: templates/modals.html:43
msgid "Form errors exist"
msgstr ""
-#: templates/js/translated/forms.js:1623
+#: templates/js/translated/forms.js:1633
msgid "No results found"
msgstr ""
-#: templates/js/translated/forms.js:1833 templates/search.html:29
+#: templates/js/translated/forms.js:1848 templates/search.html:29
msgid "Searching"
msgstr ""
-#: templates/js/translated/forms.js:2082
+#: templates/js/translated/forms.js:2101
msgid "Clear input"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "File Column"
msgstr ""
-#: templates/js/translated/forms.js:2547
+#: templates/js/translated/forms.js:2566
msgid "Field Name"
msgstr ""
-#: templates/js/translated/forms.js:2559
+#: templates/js/translated/forms.js:2578
msgid "Select Columns"
msgstr ""
@@ -8573,7 +8429,7 @@ msgid "Labels sent to printer"
msgstr ""
#: templates/js/translated/label.js:60 templates/js/translated/report.js:118
-#: templates/js/translated/stock.js:1022
+#: templates/js/translated/stock.js:1023
msgid "Select Stock Items"
msgstr "选择库存项"
@@ -8626,62 +8482,62 @@ msgstr "已选择库存项"
msgid "Select Label Template"
msgstr "选择标签模板"
-#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:120
-#: templates/js/translated/modals.js:610
+#: templates/js/translated/modals.js:76 templates/js/translated/modals.js:136
+#: templates/js/translated/modals.js:615
msgid "Cancel"
msgstr "取消"
-#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:119
-#: templates/js/translated/modals.js:677 templates/js/translated/modals.js:985
+#: templates/js/translated/modals.js:77 templates/js/translated/modals.js:135
+#: templates/js/translated/modals.js:682 templates/js/translated/modals.js:990
#: templates/modals.html:28 templates/modals.html:51
msgid "Submit"
msgstr ""
-#: templates/js/translated/modals.js:118
+#: templates/js/translated/modals.js:134
msgid "Form Title"
msgstr ""
-#: templates/js/translated/modals.js:392
+#: templates/js/translated/modals.js:397
msgid "Waiting for server..."
msgstr ""
-#: templates/js/translated/modals.js:551
+#: templates/js/translated/modals.js:556
msgid "Show Error Information"
msgstr ""
-#: templates/js/translated/modals.js:609
+#: templates/js/translated/modals.js:614
msgid "Accept"
msgstr ""
-#: templates/js/translated/modals.js:666
+#: templates/js/translated/modals.js:671
msgid "Loading Data"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Invalid response from server"
msgstr ""
-#: templates/js/translated/modals.js:937
+#: templates/js/translated/modals.js:942
msgid "Form data missing from server response"
msgstr ""
-#: templates/js/translated/modals.js:949
+#: templates/js/translated/modals.js:954
msgid "Error posting form data"
msgstr ""
-#: templates/js/translated/modals.js:1046
+#: templates/js/translated/modals.js:1051
msgid "JSON response missing form data"
msgstr ""
-#: templates/js/translated/modals.js:1061
+#: templates/js/translated/modals.js:1066
msgid "Error 400: Bad Request"
msgstr ""
-#: templates/js/translated/modals.js:1062
+#: templates/js/translated/modals.js:1067
msgid "Server returned error code 400"
msgstr ""
-#: templates/js/translated/modals.js:1085
+#: templates/js/translated/modals.js:1090
msgid "Error requesting form data"
msgstr ""
@@ -8706,19 +8562,20 @@ msgstr ""
msgid "Order ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:302
+#: templates/js/translated/model_renderers.js:303
+#: templates/js/translated/model_renderers.js:307
msgid "Shipment ID"
msgstr ""
-#: templates/js/translated/model_renderers.js:320
+#: templates/js/translated/model_renderers.js:325
msgid "Category ID"
msgstr "类别 ID"
-#: templates/js/translated/model_renderers.js:363
+#: templates/js/translated/model_renderers.js:368
msgid "Manufacturer Part ID"
msgstr "制造商商品ID"
-#: templates/js/translated/model_renderers.js:392
+#: templates/js/translated/model_renderers.js:405
msgid "Supplier Part ID"
msgstr "供应商商品ID"
@@ -8738,280 +8595,361 @@ msgstr ""
msgid "Notifications will load here"
msgstr ""
-#: templates/js/translated/order.js:79
+#: templates/js/translated/order.js:84
msgid "No stock items have been allocated to this shipment"
msgstr ""
-#: templates/js/translated/order.js:84
+#: templates/js/translated/order.js:89
msgid "The following stock items will be shipped"
msgstr ""
-#: templates/js/translated/order.js:124
+#: templates/js/translated/order.js:129
msgid "Complete Shipment"
msgstr ""
-#: templates/js/translated/order.js:130
+#: templates/js/translated/order.js:135
msgid "Confirm Shipment"
msgstr ""
-#: templates/js/translated/order.js:185
+#: templates/js/translated/order.js:156
+msgid "Complete Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:162
+msgid "Mark this order as complete?"
+msgstr ""
+
+#: templates/js/translated/order.js:168
+msgid "All line items have been received"
+msgstr ""
+
+#: templates/js/translated/order.js:173
+msgid "This order has line items which have not been marked as received."
+msgstr ""
+
+#: templates/js/translated/order.js:174
+msgid "Completing this order means that the order and line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:197
+msgid "Cancel Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:202
+msgid "Are you sure you wish to cancel this purchase order?"
+msgstr ""
+
+#: templates/js/translated/order.js:208
+msgid "This purchase order can not be cancelled"
+msgstr ""
+
+#: templates/js/translated/order.js:231
+msgid "Issue Purchase Order"
+msgstr ""
+
+#: templates/js/translated/order.js:236
+msgid "After placing this purchase order, line items will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:258
+msgid "Cancel Sales Order"
+msgstr ""
+
+#: templates/js/translated/order.js:263
+msgid "Cancelling this order means that the order will no longer be editable."
+msgstr ""
+
+#: templates/js/translated/order.js:317
msgid "Create New Shipment"
msgstr ""
-#: templates/js/translated/order.js:210
+#: templates/js/translated/order.js:342
msgid "Add Customer"
msgstr ""
-#: templates/js/translated/order.js:235
+#: templates/js/translated/order.js:367
msgid "Create Sales Order"
msgstr ""
-#: templates/js/translated/order.js:452
+#: templates/js/translated/order.js:584
msgid "Export Order"
msgstr ""
-#: templates/js/translated/order.js:546
+#: templates/js/translated/order.js:635
+msgid "At least one purchaseable part must be selected"
+msgstr ""
+
+#: templates/js/translated/order.js:660
+msgid "Quantity to order"
+msgstr ""
+
+#: templates/js/translated/order.js:669
+msgid "New supplier part"
+msgstr ""
+
+#: templates/js/translated/order.js:687
+msgid "New purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:720
+msgid "Add to purchase order"
+msgstr ""
+
+#: templates/js/translated/order.js:829
+msgid "No matching supplier parts"
+msgstr ""
+
+#: templates/js/translated/order.js:844
+msgid "No matching purchase orders"
+msgstr ""
+
+#: templates/js/translated/order.js:1000
msgid "Select Line Items"
msgstr ""
-#: templates/js/translated/order.js:547
+#: templates/js/translated/order.js:1001
msgid "At least one line item must be selected"
msgstr ""
-#: templates/js/translated/order.js:567 templates/js/translated/order.js:666
+#: templates/js/translated/order.js:1021 templates/js/translated/order.js:1120
msgid "Add batch code"
msgstr ""
-#: templates/js/translated/order.js:573 templates/js/translated/order.js:677
+#: templates/js/translated/order.js:1027 templates/js/translated/order.js:1131
msgid "Add serial numbers"
msgstr ""
-#: templates/js/translated/order.js:585
+#: templates/js/translated/order.js:1039
msgid "Quantity to receive"
msgstr ""
-#: templates/js/translated/order.js:649 templates/js/translated/stock.js:2084
+#: templates/js/translated/order.js:1103 templates/js/translated/stock.js:2085
msgid "Stock Status"
msgstr ""
-#: templates/js/translated/order.js:738
+#: templates/js/translated/order.js:1194
msgid "Order Code"
msgstr "订单编码"
-#: templates/js/translated/order.js:739
+#: templates/js/translated/order.js:1195
msgid "Ordered"
msgstr ""
-#: templates/js/translated/order.js:741
+#: templates/js/translated/order.js:1197
msgid "Quantity to Receive"
msgstr ""
-#: templates/js/translated/order.js:760
+#: templates/js/translated/order.js:1216
msgid "Confirm receipt of items"
msgstr ""
-#: templates/js/translated/order.js:761
+#: templates/js/translated/order.js:1217
msgid "Receive Purchase Order Items"
msgstr ""
-#: templates/js/translated/order.js:951 templates/js/translated/part.js:870
+#: templates/js/translated/order.js:1407 templates/js/translated/part.js:870
msgid "No purchase orders found"
msgstr ""
-#: templates/js/translated/order.js:976 templates/js/translated/order.js:1672
+#: templates/js/translated/order.js:1432 templates/js/translated/order.js:2128
msgid "Order is overdue"
msgstr ""
-#: templates/js/translated/order.js:1100 templates/js/translated/order.js:2844
+#: templates/js/translated/order.js:1482 templates/js/translated/order.js:2193
+#: templates/js/translated/order.js:2323
+msgid "Items"
+msgstr ""
+
+#: templates/js/translated/order.js:1556 templates/js/translated/order.js:3300
msgid "Duplicate Line Item"
msgstr ""
-#: templates/js/translated/order.js:1130 templates/js/translated/order.js:2866
+#: templates/js/translated/order.js:1586 templates/js/translated/order.js:3322
msgid "Edit Line Item"
msgstr ""
-#: templates/js/translated/order.js:1143 templates/js/translated/order.js:2877
+#: templates/js/translated/order.js:1599 templates/js/translated/order.js:3333
msgid "Delete Line Item"
msgstr ""
-#: templates/js/translated/order.js:1186
+#: templates/js/translated/order.js:1642
msgid "No line items found"
msgstr ""
-#: templates/js/translated/order.js:1213 templates/js/translated/order.js:2601
+#: templates/js/translated/order.js:1669 templates/js/translated/order.js:3057
msgid "Total"
msgstr ""
-#: templates/js/translated/order.js:1267 templates/js/translated/order.js:1469
-#: templates/js/translated/order.js:2626 templates/js/translated/order.js:3104
-#: templates/js/translated/part.js:1960 templates/js/translated/part.js:2313
+#: templates/js/translated/order.js:1723 templates/js/translated/order.js:1925
+#: templates/js/translated/order.js:3082 templates/js/translated/order.js:3565
+#: templates/js/translated/part.js:1948 templates/js/translated/part.js:2301
msgid "Unit Price"
msgstr "单价"
-#: templates/js/translated/order.js:1282 templates/js/translated/order.js:1485
-#: templates/js/translated/order.js:2642 templates/js/translated/order.js:3120
+#: templates/js/translated/order.js:1738 templates/js/translated/order.js:1941
+#: templates/js/translated/order.js:3098 templates/js/translated/order.js:3581
msgid "Total Price"
msgstr ""
-#: templates/js/translated/order.js:1323 templates/js/translated/order.js:2684
+#: templates/js/translated/order.js:1779 templates/js/translated/order.js:3140
#: templates/js/translated/part.js:979
msgid "This line item is overdue"
msgstr ""
-#: templates/js/translated/order.js:1382 templates/js/translated/part.js:1025
+#: templates/js/translated/order.js:1838 templates/js/translated/part.js:1025
msgid "Receive line item"
msgstr ""
-#: templates/js/translated/order.js:1386 templates/js/translated/order.js:2798
+#: templates/js/translated/order.js:1842 templates/js/translated/order.js:3254
msgid "Duplicate line item"
msgstr ""
-#: templates/js/translated/order.js:1387 templates/js/translated/order.js:2799
+#: templates/js/translated/order.js:1843 templates/js/translated/order.js:3255
msgid "Edit line item"
msgstr ""
-#: templates/js/translated/order.js:1388 templates/js/translated/order.js:2803
+#: templates/js/translated/order.js:1844 templates/js/translated/order.js:3259
msgid "Delete line item"
msgstr ""
-#: templates/js/translated/order.js:1534 templates/js/translated/order.js:3169
+#: templates/js/translated/order.js:1990 templates/js/translated/order.js:3630
msgid "Duplicate line"
msgstr ""
-#: templates/js/translated/order.js:1535 templates/js/translated/order.js:3170
+#: templates/js/translated/order.js:1991 templates/js/translated/order.js:3631
msgid "Edit line"
msgstr ""
-#: templates/js/translated/order.js:1536 templates/js/translated/order.js:3171
+#: templates/js/translated/order.js:1992 templates/js/translated/order.js:3632
msgid "Delete line"
msgstr ""
-#: templates/js/translated/order.js:1566 templates/js/translated/order.js:3201
+#: templates/js/translated/order.js:2022 templates/js/translated/order.js:3662
msgid "Duplicate Line"
msgstr ""
-#: templates/js/translated/order.js:1587 templates/js/translated/order.js:3222
+#: templates/js/translated/order.js:2043 templates/js/translated/order.js:3683
msgid "Edit Line"
msgstr ""
-#: templates/js/translated/order.js:1598 templates/js/translated/order.js:3233
+#: templates/js/translated/order.js:2054 templates/js/translated/order.js:3694
msgid "Delete Line"
msgstr ""
-#: templates/js/translated/order.js:1609
+#: templates/js/translated/order.js:2065
msgid "No matching line"
msgstr ""
-#: templates/js/translated/order.js:1648
+#: templates/js/translated/order.js:2104
msgid "No sales orders found"
msgstr ""
-#: templates/js/translated/order.js:1686
+#: templates/js/translated/order.js:2142
msgid "Invalid Customer"
msgstr ""
-#: templates/js/translated/order.js:1773
+#: templates/js/translated/order.js:2229
msgid "Edit shipment"
msgstr ""
-#: templates/js/translated/order.js:1776
+#: templates/js/translated/order.js:2232
msgid "Complete shipment"
msgstr ""
-#: templates/js/translated/order.js:1781
+#: templates/js/translated/order.js:2237
msgid "Delete shipment"
msgstr ""
-#: templates/js/translated/order.js:1801
+#: templates/js/translated/order.js:2257
msgid "Edit Shipment"
msgstr ""
-#: templates/js/translated/order.js:1818
+#: templates/js/translated/order.js:2274
msgid "Delete Shipment"
msgstr ""
-#: templates/js/translated/order.js:1852
+#: templates/js/translated/order.js:2308
msgid "No matching shipments found"
msgstr ""
-#: templates/js/translated/order.js:1862
+#: templates/js/translated/order.js:2318
msgid "Shipment Reference"
msgstr ""
-#: templates/js/translated/order.js:1886
+#: templates/js/translated/order.js:2342
msgid "Not shipped"
msgstr ""
-#: templates/js/translated/order.js:1892
+#: templates/js/translated/order.js:2348
msgid "Tracking"
msgstr ""
-#: templates/js/translated/order.js:2051
+#: templates/js/translated/order.js:2507
msgid "Confirm stock allocation"
msgstr "确认库存分配"
-#: templates/js/translated/order.js:2052
+#: templates/js/translated/order.js:2508
msgid "Allocate Stock Items to Sales Order"
msgstr ""
-#: templates/js/translated/order.js:2260
+#: templates/js/translated/order.js:2716
msgid "No sales order allocations found"
msgstr ""
-#: templates/js/translated/order.js:2341
+#: templates/js/translated/order.js:2797
msgid "Edit Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2358
+#: templates/js/translated/order.js:2814
msgid "Confirm Delete Operation"
msgstr "确认删除操作"
-#: templates/js/translated/order.js:2359
+#: templates/js/translated/order.js:2815
msgid "Delete Stock Allocation"
msgstr ""
-#: templates/js/translated/order.js:2402 templates/js/translated/order.js:2491
-#: templates/js/translated/stock.js:1544
+#: templates/js/translated/order.js:2858 templates/js/translated/order.js:2947
+#: templates/js/translated/stock.js:1545
msgid "Shipped to customer"
msgstr ""
-#: templates/js/translated/order.js:2410 templates/js/translated/order.js:2500
+#: templates/js/translated/order.js:2866 templates/js/translated/order.js:2956
msgid "Stock location not specified"
msgstr ""
-#: templates/js/translated/order.js:2782
+#: templates/js/translated/order.js:3238
msgid "Allocate serial numbers"
msgstr ""
-#: templates/js/translated/order.js:2788
+#: templates/js/translated/order.js:3244
msgid "Purchase stock"
msgstr ""
-#: templates/js/translated/order.js:2795 templates/js/translated/order.js:2986
+#: templates/js/translated/order.js:3251 templates/js/translated/order.js:3447
msgid "Calculate price"
msgstr ""
-#: templates/js/translated/order.js:2807
+#: templates/js/translated/order.js:3263
msgid "Cannot be deleted as items have been shipped"
msgstr ""
-#: templates/js/translated/order.js:2810
+#: templates/js/translated/order.js:3266
msgid "Cannot be deleted as items have been allocated"
msgstr ""
-#: templates/js/translated/order.js:2892
+#: templates/js/translated/order.js:3348
msgid "Allocate Serial Numbers"
msgstr ""
-#: templates/js/translated/order.js:2994
+#: templates/js/translated/order.js:3455
msgid "Update Unit Price"
msgstr ""
-#: templates/js/translated/order.js:3008
+#: templates/js/translated/order.js:3469
msgid "No matching line items"
msgstr ""
-#: templates/js/translated/order.js:3244
+#: templates/js/translated/order.js:3705
msgid "No matching lines"
msgstr ""
@@ -9095,6 +9033,10 @@ msgstr ""
msgid "Parent part category"
msgstr ""
+#: templates/js/translated/part.js:317
+msgid "Edit Part Category"
+msgstr "编辑商品类别"
+
#: templates/js/translated/part.js:340
msgid "Edit Part"
msgstr "编辑商品"
@@ -9188,8 +9130,8 @@ msgstr ""
msgid "No category"
msgstr "没有分类"
-#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1676
-#: templates/js/translated/stock.js:2242
+#: templates/js/translated/part.js:1504 templates/js/translated/part.js:1664
+#: templates/js/translated/stock.js:2243
msgid "Display as list"
msgstr ""
@@ -9197,75 +9139,75 @@ msgstr ""
msgid "Display as grid"
msgstr ""
-#: templates/js/translated/part.js:1695 templates/js/translated/stock.js:2261
+#: templates/js/translated/part.js:1683 templates/js/translated/stock.js:2262
msgid "Display as tree"
msgstr ""
-#: templates/js/translated/part.js:1759
+#: templates/js/translated/part.js:1747
msgid "Subscribed category"
msgstr ""
-#: templates/js/translated/part.js:1773 templates/js/translated/stock.js:2305
+#: templates/js/translated/part.js:1761 templates/js/translated/stock.js:2306
msgid "Path"
msgstr ""
-#: templates/js/translated/part.js:1817
+#: templates/js/translated/part.js:1805
msgid "No test templates matching query"
msgstr ""
-#: templates/js/translated/part.js:1868 templates/js/translated/stock.js:1242
+#: templates/js/translated/part.js:1856 templates/js/translated/stock.js:1243
msgid "Edit test result"
msgstr ""
-#: templates/js/translated/part.js:1869 templates/js/translated/stock.js:1243
-#: templates/js/translated/stock.js:1502
+#: templates/js/translated/part.js:1857 templates/js/translated/stock.js:1244
+#: templates/js/translated/stock.js:1503
msgid "Delete test result"
msgstr ""
-#: templates/js/translated/part.js:1875
+#: templates/js/translated/part.js:1863
msgid "This test is defined for a parent part"
msgstr ""
-#: templates/js/translated/part.js:1897
+#: templates/js/translated/part.js:1885
msgid "Edit Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1911
+#: templates/js/translated/part.js:1899
msgid "Delete Test Result Template"
msgstr ""
-#: templates/js/translated/part.js:1936
+#: templates/js/translated/part.js:1924
#, python-brace-format
msgid "No ${human_name} information found"
msgstr ""
-#: templates/js/translated/part.js:1993
+#: templates/js/translated/part.js:1981
#, python-brace-format
msgid "Edit ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:1994
+#: templates/js/translated/part.js:1982
#, python-brace-format
msgid "Delete ${human_name}"
msgstr ""
-#: templates/js/translated/part.js:2108
+#: templates/js/translated/part.js:2096
msgid "Current Stock"
msgstr ""
-#: templates/js/translated/part.js:2141
+#: templates/js/translated/part.js:2129
msgid "No scheduling information available for this part"
msgstr ""
-#: templates/js/translated/part.js:2167
+#: templates/js/translated/part.js:2155
msgid "Scheduled Stock Quantities"
msgstr ""
-#: templates/js/translated/part.js:2237
+#: templates/js/translated/part.js:2225
msgid "Single Price"
msgstr ""
-#: templates/js/translated/part.js:2256
+#: templates/js/translated/part.js:2244
msgid "Single Price Difference"
msgstr ""
@@ -9347,340 +9289,360 @@ msgstr ""
msgid "Remove results"
msgstr ""
-#: templates/js/translated/stock.js:72
+#: templates/js/translated/stock.js:73
msgid "Serialize Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:100
+#: templates/js/translated/stock.js:101
msgid "Confirm Stock Serialization"
msgstr ""
-#: templates/js/translated/stock.js:109
+#: templates/js/translated/stock.js:110
msgid "Parent stock location"
msgstr ""
-#: templates/js/translated/stock.js:153
+#: templates/js/translated/stock.js:139
+msgid "Edit Stock Location"
+msgstr "编辑仓储地点"
+
+#: templates/js/translated/stock.js:154
msgid "New Stock Location"
msgstr ""
-#: templates/js/translated/stock.js:193
+#: templates/js/translated/stock.js:194
msgid "This part cannot be serialized"
msgstr ""
-#: templates/js/translated/stock.js:232
+#: templates/js/translated/stock.js:233
msgid "Enter initial quantity for this stock item"
msgstr ""
-#: templates/js/translated/stock.js:238
+#: templates/js/translated/stock.js:239
msgid "Enter serial numbers for new stock (or leave blank)"
msgstr ""
-#: templates/js/translated/stock.js:303
+#: templates/js/translated/stock.js:304
msgid "Stock item duplicated"
msgstr ""
-#: templates/js/translated/stock.js:393
+#: templates/js/translated/stock.js:324
+msgid "Duplicate Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:344
+msgid "Edit Stock Item"
+msgstr ""
+
+#: templates/js/translated/stock.js:394
msgid "Created new stock item"
msgstr ""
-#: templates/js/translated/stock.js:406
+#: templates/js/translated/stock.js:407
msgid "Created multiple stock items"
msgstr ""
-#: templates/js/translated/stock.js:431
+#: templates/js/translated/stock.js:432
msgid "Find Serial Number"
msgstr ""
-#: templates/js/translated/stock.js:435 templates/js/translated/stock.js:436
+#: templates/js/translated/stock.js:436 templates/js/translated/stock.js:437
msgid "Enter serial number"
msgstr ""
-#: templates/js/translated/stock.js:452
+#: templates/js/translated/stock.js:453
msgid "Enter a serial number"
msgstr ""
-#: templates/js/translated/stock.js:472
+#: templates/js/translated/stock.js:473
msgid "No matching serial number"
msgstr ""
-#: templates/js/translated/stock.js:481
+#: templates/js/translated/stock.js:482
msgid "More than one matching result found"
msgstr ""
-#: templates/js/translated/stock.js:604
+#: templates/js/translated/stock.js:605
msgid "Confirm stock assignment"
msgstr ""
-#: templates/js/translated/stock.js:605
+#: templates/js/translated/stock.js:606
msgid "Assign Stock to Customer"
msgstr ""
-#: templates/js/translated/stock.js:682
+#: templates/js/translated/stock.js:683
msgid "Warning: Merge operation cannot be reversed"
msgstr ""
-#: templates/js/translated/stock.js:683
+#: templates/js/translated/stock.js:684
msgid "Some information will be lost when merging stock items"
msgstr ""
-#: templates/js/translated/stock.js:685
+#: templates/js/translated/stock.js:686
msgid "Stock transaction history will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:686
+#: templates/js/translated/stock.js:687
msgid "Supplier part information will be deleted for merged items"
msgstr ""
-#: templates/js/translated/stock.js:772
+#: templates/js/translated/stock.js:773
msgid "Confirm stock item merge"
msgstr ""
-#: templates/js/translated/stock.js:773
+#: templates/js/translated/stock.js:774
msgid "Merge Stock Items"
msgstr ""
-#: templates/js/translated/stock.js:868
+#: templates/js/translated/stock.js:869
msgid "Transfer Stock"
msgstr ""
-#: templates/js/translated/stock.js:869
+#: templates/js/translated/stock.js:870
msgid "Move"
msgstr ""
-#: templates/js/translated/stock.js:875
+#: templates/js/translated/stock.js:876
msgid "Count Stock"
msgstr ""
-#: templates/js/translated/stock.js:876
+#: templates/js/translated/stock.js:877
msgid "Count"
msgstr ""
-#: templates/js/translated/stock.js:880
+#: templates/js/translated/stock.js:881
msgid "Remove Stock"
msgstr ""
-#: templates/js/translated/stock.js:881
+#: templates/js/translated/stock.js:882
msgid "Take"
msgstr ""
-#: templates/js/translated/stock.js:885
+#: templates/js/translated/stock.js:886
msgid "Add Stock"
msgstr ""
-#: templates/js/translated/stock.js:886 users/models.py:216
+#: templates/js/translated/stock.js:887 users/models.py:217
msgid "Add"
msgstr "添加"
-#: templates/js/translated/stock.js:890
+#: templates/js/translated/stock.js:891
msgid "Delete Stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Quantity cannot be adjusted for serialized stock"
msgstr ""
-#: templates/js/translated/stock.js:983
+#: templates/js/translated/stock.js:984
msgid "Specify stock quantity"
msgstr ""
-#: templates/js/translated/stock.js:1023
+#: templates/js/translated/stock.js:1024
msgid "You must select at least one available stock item"
msgstr ""
-#: templates/js/translated/stock.js:1181
+#: templates/js/translated/stock.js:1047
+msgid "Confirm stock adjustment"
+msgstr ""
+
+#: templates/js/translated/stock.js:1182
msgid "PASS"
msgstr ""
-#: templates/js/translated/stock.js:1183
+#: templates/js/translated/stock.js:1184
msgid "FAIL"
msgstr ""
-#: templates/js/translated/stock.js:1188
+#: templates/js/translated/stock.js:1189
msgid "NO RESULT"
msgstr ""
-#: templates/js/translated/stock.js:1235
+#: templates/js/translated/stock.js:1236
msgid "Pass test"
msgstr ""
-#: templates/js/translated/stock.js:1238
+#: templates/js/translated/stock.js:1239
msgid "Add test result"
msgstr ""
-#: templates/js/translated/stock.js:1264
+#: templates/js/translated/stock.js:1265
msgid "No test results found"
msgstr ""
-#: templates/js/translated/stock.js:1320
+#: templates/js/translated/stock.js:1321
msgid "Test Date"
msgstr ""
-#: templates/js/translated/stock.js:1485
+#: templates/js/translated/stock.js:1486
msgid "Edit Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1507
+#: templates/js/translated/stock.js:1508
msgid "Delete Test Result"
msgstr ""
-#: templates/js/translated/stock.js:1536
+#: templates/js/translated/stock.js:1537
msgid "In production"
msgstr "正在生产"
-#: templates/js/translated/stock.js:1540
+#: templates/js/translated/stock.js:1541
msgid "Installed in Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:1548
+#: templates/js/translated/stock.js:1549
msgid "Assigned to Sales Order"
msgstr ""
-#: templates/js/translated/stock.js:1554
+#: templates/js/translated/stock.js:1555
msgid "No stock location set"
msgstr "未设置仓储地点"
-#: templates/js/translated/stock.js:1712
+#: templates/js/translated/stock.js:1713
msgid "Stock item is in production"
msgstr "库存品正在生产"
-#: templates/js/translated/stock.js:1717
+#: templates/js/translated/stock.js:1718
msgid "Stock item assigned to sales order"
msgstr ""
-#: templates/js/translated/stock.js:1720
+#: templates/js/translated/stock.js:1721
msgid "Stock item assigned to customer"
msgstr ""
-#: templates/js/translated/stock.js:1724
+#: templates/js/translated/stock.js:1725
msgid "Stock item has expired"
msgstr ""
-#: templates/js/translated/stock.js:1726
+#: templates/js/translated/stock.js:1727
msgid "Stock item will expire soon"
msgstr ""
-#: templates/js/translated/stock.js:1732
+#: templates/js/translated/stock.js:1733
msgid "Serialized stock item has been allocated"
msgstr ""
-#: templates/js/translated/stock.js:1734
+#: templates/js/translated/stock.js:1735
msgid "Stock item has been fully allocated"
msgstr ""
-#: templates/js/translated/stock.js:1736
+#: templates/js/translated/stock.js:1737
msgid "Stock item has been partially allocated"
msgstr ""
-#: templates/js/translated/stock.js:1741
+#: templates/js/translated/stock.js:1742
msgid "Stock item has been installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:1748
+#: templates/js/translated/stock.js:1749
msgid "Stock item has been rejected"
msgstr ""
-#: templates/js/translated/stock.js:1750
+#: templates/js/translated/stock.js:1751
msgid "Stock item is lost"
msgstr ""
-#: templates/js/translated/stock.js:1752
+#: templates/js/translated/stock.js:1753
msgid "Stock item is destroyed"
msgstr ""
-#: templates/js/translated/stock.js:1756
+#: templates/js/translated/stock.js:1757
#: templates/js/translated/table_filters.js:188
msgid "Depleted"
msgstr ""
-#: templates/js/translated/stock.js:1807
+#: templates/js/translated/stock.js:1808
msgid "Stocktake"
msgstr ""
-#: templates/js/translated/stock.js:1889
+#: templates/js/translated/stock.js:1890
msgid "Supplier part not specified"
msgstr ""
-#: templates/js/translated/stock.js:1927
+#: templates/js/translated/stock.js:1928
msgid "No stock items matching query"
msgstr ""
-#: templates/js/translated/stock.js:2099
+#: templates/js/translated/stock.js:2100
msgid "Set Stock Status"
msgstr ""
-#: templates/js/translated/stock.js:2113
+#: templates/js/translated/stock.js:2114
msgid "Select Status Code"
msgstr ""
-#: templates/js/translated/stock.js:2114
+#: templates/js/translated/stock.js:2115
msgid "Status code must be selected"
msgstr ""
-#: templates/js/translated/stock.js:2369
+#: templates/js/translated/stock.js:2370
msgid "Details"
msgstr "详情"
-#: templates/js/translated/stock.js:2385
+#: templates/js/translated/stock.js:2386
msgid "Part information unavailable"
msgstr ""
-#: templates/js/translated/stock.js:2407
+#: templates/js/translated/stock.js:2408
msgid "Location no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2426
+#: templates/js/translated/stock.js:2427
msgid "Purchase order no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2445
+#: templates/js/translated/stock.js:2446
msgid "Customer no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2463
+#: templates/js/translated/stock.js:2464
msgid "Stock item no longer exists"
msgstr ""
-#: templates/js/translated/stock.js:2486
+#: templates/js/translated/stock.js:2487
msgid "Added"
msgstr ""
-#: templates/js/translated/stock.js:2494
+#: templates/js/translated/stock.js:2495
msgid "Removed"
msgstr ""
-#: templates/js/translated/stock.js:2570
+#: templates/js/translated/stock.js:2571
msgid "No installed items"
msgstr ""
-#: templates/js/translated/stock.js:2621
+#: templates/js/translated/stock.js:2622 templates/js/translated/stock.js:2658
msgid "Uninstall Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2657
+#: templates/js/translated/stock.js:2671
+msgid "Select stock item to uninstall"
+msgstr ""
+
+#: templates/js/translated/stock.js:2692
msgid "Install another stock item into this item"
msgstr ""
-#: templates/js/translated/stock.js:2658
+#: templates/js/translated/stock.js:2693
msgid "Stock items can only be installed if they meet the following criteria"
msgstr ""
-#: templates/js/translated/stock.js:2660
+#: templates/js/translated/stock.js:2695
msgid "The Stock Item links to a Part which is the BOM for this Stock Item"
msgstr ""
-#: templates/js/translated/stock.js:2661
+#: templates/js/translated/stock.js:2696
msgid "The Stock Item is currently available in stock"
msgstr ""
-#: templates/js/translated/stock.js:2662
+#: templates/js/translated/stock.js:2697
msgid "The Stock Item is not already installed in another item"
msgstr ""
-#: templates/js/translated/stock.js:2663
+#: templates/js/translated/stock.js:2698
msgid "The Stock Item is tracked by either a batch code or serial number"
msgstr ""
-#: templates/js/translated/stock.js:2676
+#: templates/js/translated/stock.js:2711
msgid "Select part to install"
msgstr ""
@@ -10198,35 +10160,35 @@ msgstr "权限"
msgid "Important dates"
msgstr "重要日期"
-#: users/models.py:203
+#: users/models.py:204
msgid "Permission set"
msgstr "权限设置"
-#: users/models.py:211
+#: users/models.py:212
msgid "Group"
msgstr "群组"
-#: users/models.py:214
+#: users/models.py:215
msgid "View"
msgstr "视图"
-#: users/models.py:214
+#: users/models.py:215
msgid "Permission to view items"
msgstr "查看项目权限"
-#: users/models.py:216
+#: users/models.py:217
msgid "Permission to add items"
msgstr "添加项目权限"
-#: users/models.py:218
+#: users/models.py:219
msgid "Change"
msgstr "更改"
-#: users/models.py:218
+#: users/models.py:219
msgid "Permissions to edit items"
msgstr "编辑项目权限"
-#: users/models.py:220
+#: users/models.py:221
msgid "Permission to delete items"
msgstr "删除项目权限"